Skip to main content

Full text of "BIT LET 01"

See other formats


'431 



Szcniacias hi>t keil mego&ztanom 
az otvasdval: baratom. Fari 
ua&arolt egy Commodore §4-es 
szamftoggpec* 

Ahogy az Jenni szokott, a g£p 
A csaitid szumefenyuvL- vAU 
Fari rmir otthon is el tudja u£gezni 
a tervezesj rnunkajahoz 
szuksegas ssrimitasokat. 
es gmk- janalt pgnzugyeit is 
geppeT tartja nyilvan. 
Falesege is osztozott a kazdeti 
lelkesadesben : egy lamez 
tartalmazze telaf onoa noteszenek 
adatait, ftjy a geppel karosteti 
meg napes baratnoi kdrenek 
tatef onszamait, as kozmef Ikusa- 
nak. todrasznojenek fogadoorait- 
NGmi nagykepu^eggel szbveg- 
szerkesztdval irja fevalait 
a vJdeki rokonoknak - hadd laasa 
mindenki. hogy mifyen 
.jCsucstechnikaval 1 ' rendeEkez- 
nek, A gyarskak, persze nam 
tudnak batelni a jatek- 
programofckal. Ok is beleptek 
a It alarms iskolas osztalytaVsafk- 
nak abba a kasztjabs, akik 
nap mint nap lazas program- 
C sere be bonvolodnak EJeg 
gyorsan etsajatitottftk 
a BASIC alapjait is. 
.Mindez szep as j 6, de mi Art volna az: szfinzacrb - kerdezheii 
azGlvaad-. hiszen ma mar rengeieg hdztartasban as irodqban 
magtalalhatok a mikrogepak ?" 

MostanAig en sem hiitem, hogy egy Ilyan h\r ujsagbfl kivdn- 
kozik. A Vasarnapi Hrrok marcius 15-i szamanak 3. oldalan 
meg ja I ant rbvid hlr azonban meggyozbtt arrtfl, hogy teved- 
lem: ,.COMMOD0RI. A tagnyifvantertas gepi faldoJgozisd* 
nak erakeszJteset kezdi meg id£n a Szentes es Videke Afesz. 
Egy Commodore 64 tfpuau szAmltog&pbe korzatek szerint 
taplaljak majd be a falujrtott nyilwantart^st. " 
Ha az kbzardeklodesre tart szamot, akkor nekem is be keilatt 
szamolnom baraiom ftaztartdsanak technikai ugrasaroL 
A B ft- LET Olvasoi nyilvan cudjak. hggy a C-64 otthoni jStrfk- 
gepnek koszuU. as nem igazin aikalmas adainyHvantanasi 
as -kezelasi feladatok ell6te*ara, Vedolhatjuk itt hozzi nem 
ertessel a Vasarnapi Hirek szerkesztSjot, (meg is tesszuk). 
aki - esetleg mas, ardekeaebb tuddsPt&s hianydban - kdzdite 
a szermte, a dologhoz fabatkanyit sem erto" szarim drdekea 
hfrt. Igaz, az ujsagfMnak nem feJtetlan&l kail ertenie a szim^ 



belOlrGl 





tastechnikahoz, de nem is 
ke!l(enej olyan hirt fogalmaz- 
nia. amelynek temaja olyan 
szarnara f akar a szanszkrit 
Ob a legijesztdbbnek megis azi 
tartjuk, hogy meg mmdig 
akadnak az orszagban afeszak, 
b£f oszek ( bocsanat a szo f aire 
rtalHiatosSgdert - szand^kos) 
akik C-64- est vesznek ilyan 
ceira. S megcsak nem is 
rdsteilik a do foot vilaggd 
kiirtblni I 

Elkepzeiem ai afesz elnbket, 
amint felt^rcsazza Cijsiglrd 
baratjit, as izgalomtol elfiild 
hangon a f iil^be klabalja 
. Gczb ! Hatalmas azanzaci6 1 
tiapasitunkr 
MSre az ujsagird* r ,Hogy ertad 
aztp Belam 7 Uj f(inyir6t vette 
tak? " Az elnbk femaborodva 
Mol efsz, kerlek? Man mi 
a XX, azBzadban r Szamrtdgd 
pet vdsaroltunk. 
Commodore 64 tipusut. 
NemsokaVa ez fog] a nyilvan 
tartani tagjaink adataitl' 
Gaza vdlasz nalkiil lacsapja a 
telefont. Rohan a tefexgep 
haz. hogy 6 lehcssen az else, 
aki tudatja a vlldggal a rand- 
klvuU asam^nyt. ^Szfimitogep ! - gondola kozben - Hiszan 
errol frnak mostanAban mindenhol ! Vegre en Is rtiegfogtam 
az Isten labat egy vll^gszenzacibval T" 

A telaxg^pek d2Utan a Fdld mm den tajan Feko pogjAk a hfrt a 
caoddlatos magyar ujdons^gr6L Az esemeny hire aljirt Del- 
AmenkBXb! Uj-Zelandig mindebova. A vilag nogy hirygyndk- 
sagei az ujsagok els6 o Idaian. a TV-hiraddk ad£suk al$6 parcel 
ben kozlik a szanzaoidt. Elvagre amogbtt lenni kell valaminek 
- mondjak tudunk mi a aorok kdzott olvasni, 
Ahogy az UPI tud6sK6ja fogalmaz: F * A ffamnak is volt egy 
C-£4-ase, de kin6tta, fgy kicser^lttik egy nagyobb gepra. 
A taskimban pedig itt fapulegy 1 MByte-os szbvegszerkesztS 
rendszar amin a tuddsitasaimat from. Hogy a magyarok nem 
hulyek. az mar kiderult a bGvoa kockanei Itt valami hasonlo 
vil&grengeto dologrdl van szo. ami Jehet, hogy aokkal vesze 
Ivesabb, mint egy togikai jitekszer. Oo hogy mirfil?... £n 
mindanasetre tartofc toliik." 

TmMr J6zsef 



@ Hiroldai- benne egy nem mindennapi videodisc tarofdval. Kapacitasa nem kevesebb mint 221 Megabyte. 
@ K6rra/zol6 - TV c o m p ute rre 

® GEOS - a C^64-es uj rendszerszoftverj^nek 6raja eddig csak Amenkaban volt pontos, most beallitjuk a fantasztikus magyar aramhoz! 
Q Szoftverottetek - RENUMBER, es INPUT rutin a PHIMO-ra 

@ Botr&ny - ZX Spectrumra k^t szemelyre - elfiszor forduf e\5 tort^nelmunkben, hogy egy programr6l kideruL 
hogy a szerz6 nem is a szerzo" ... 

® Eietf&tSk - EzuttaJ Commodore 64-esre egy fogyaszthat6 gyorsasagu sejtautomata 
^ Sorvezetff - a hamvab6l folSlesztett rovat ez evi masodik jelentkezese ! 

^ KSnyvmofy - Uj konyvek. ragcsaldnk nagy orommel udvozol egy izgafmas muvet. egy masik, kicsit r^gebben megjelent konyvet 
viszont kem^nyen megbir^l 

@ Posta - levelecske olvas6cskankt6l, nemi humorrai fuszerezve, humonzafgat6 valaszokkaf 

© Atari nyerS - a mult havi megfejt6sekb<5l ftelve sokakat izgat egy Atari lehetSsege! Itt a masodik fordul6 



SUMITintElNlill HILLIRLH \t%7 it|Ull 





ass 




TO 1 



jam 



&&&&&&& 



in lummimrm g 





iiiHiTuuemiMi taiiuiLit m in he* 




Az aldbbi kis programmal az EXT utasftdssal 
rajzolhatunk koroket. 

A kor rajzolasa az EXT sorszdm, x, y, r uta- 
sftdssal tdrt6nik, ahol x 6s y a kor koz6p- 
pontja, r pedig a sugara. Mivel az EXT 
param6terei a — 32768-tol +32767-ig ter- 
jed6 tartomdnyba eshetnek, ez6rt a k6p- 
ernyfin kfvul es6 koz&ppontu kort is rajzol- 
hatunk! A rutin a kort egy 806 oldalu sok- 
szoggel kozelfti, fgy csak azokat a szakaszo- 
kat rajzolja meg, melyeknek mindkdt v6g- 
pontja a kgpernydn beliil van. Term6szete- 
sen a rajzolds az aktudlis tintaszfn, MODE 
6s STYLE param6terek szerint tortdnik, de a 
STYLE vonaltipus csak nagyobb 6tm6rdkn6l 
6rv6nyesuJ. 

Az elsd Iefuttat6s ut6n EXT0,51 2,480,400 
paranccsal pr6b£ljuk ki a rutint. Ha nem 
kaptunk kort, akkor hiba van a DATA so- 
rokban, javitsuk ki ! Ha kort kaptunk, akkor 
a DATA sorok m£r feleslegesek, kitdrdlhe- 
t6k a "DELETE 4-" paranccsal. (A gdpi k6dii 
program az elsd sorokba kerult.) Az Igy 
elkdszult program magndra kimenthetd, k6- 
sobbi programokban felhaszn^lhat6. 



Fontos aprdsagok: 



A rutin cf-ak akkor mGkodok6pes P ha a szo- 
k£sos BASIC program kezddcfmrdl (6639) 
LOMEM utasftdssal nem mozdftjuk el. A 
programot csak a 3. sortdl listdzzuk, mert az 
elsd sorok Iist6z£sa a tdbbi6t is megzavar- 
hatja. 



A korrajzolo algorttmus lei rasa 



Ha az (x;y) pontot az origo korul szoggel el 
forgatjuk, uj koordin£t£it (ux;uy) az 
ux=x*cos(<p)+y*sin(cp) 
UY=y*cos(<p)-x*sin(<p) 
k6pletek segfts6g6vel szdmfthatjuk ki. Ha az 
elforgatdst tobbszor megismdteljuk, 6s a 
kapott pontokat osszekotjuk, sokszoget ka- 
punk. Nem orig6 kdz6ppont eset6n a ko- 
z6ppont koordin£t£it (kx,ky) a kapott pon- 
tokhoz hozzd kell adni. A rutin a kort egy 
806 oldalu sokszoggel kozelfti. Ebben az 
esetben sin(<p) <* 1 /1 28, cost?) « 32767/ 



A szerkeszto azert van, 



hogy a lap oly t in teg yen. 



ami lye nek az olvasoi ! 



['AMlTIIItUillKIt ftff LLUtEMIi; "HHI.l 



0 , 



1 9 

201 

6, C 

1 26 

43, 1 

43 
4 3 

17, ; 

213 

2 ,.?'■) 
197 
?.0 l 5 
241 



IS, 
10, 



?.2 
0, 



43 
126 
23 

203, 

203, 

35 

203, 

35 
203, 
20 1 

1, 

J. 26 
■7 f y t 

43, 
1 J 

45 



197 

1.7, LI, 
205, IS, 
1 93 

237, 67, 13, 



4 3 
126 

33, 
203, 

3 r ^ 
20 3, 

2.03, 



DW 0 



0, 0 






KX 


DW 0 




0,, 0 






KY 


DW 0 




0 , 0 5 


0, 


0 


X 


F 3 1 _L 


4,0 


0* 0, 


0, 


0 


Y 


f ■ i: 1 1 . 


1 , 0 


0 ^ 0 „ 


0, 


0 


1 IX 


RLi 


4, 0 


0, 0, 


0, 


0 


UY 


F [ L 1. 


4 , 0 


0, 0, 


0 , 


u 


VAR: 


F 1 1 I 


4 , 0 


0, 0, 


'■»> 


0 


VAR2 


Ft IX 


4,0 


1, 4, 


0 




MOVE : 


LD 13C 


,4 


7,1/6 
1 








LOIR 




6, 4 








RE r 
L0 0, 


i\ 


3 








OR A 


\ 










t. D A 


(DEM 










SBC A 


, t HL > 



am 

er* ;ie 



26 

'r! 1 6 



1 1 , 26 



CY: *0 



L.D C OR*) „ A 
\W. Ml. 
INC Of 
IJ.JM? Ml 
RF r 

5IN.„FJbUD i-:,0 

LD A, CI II ) 
PLA 

DEC B ; B:^2^' 
Sl:Dfrn HL 
DEC ML 
LD LCVAP 
PUSH DE 
PUSH Hi 
PUSH B0 
3 At I MOVE- 
POP AF 

LD t VrtlV + '::!!> , A 
POP ML 
DEC HI. 
LD A., (ML) 
RLA 

POP HL. 
RL (HI, ) 
INC HI 
RL <HI, 1 
INC HL 
RL (HL; 
INC HL 
RL ( HL ) 
RET 

COS^FtsUD DC,0 

LD A, (HL) 
RLA 

JR NC,CJ 

DEC BC ; 0Cs=6S 
Cis-DEC HL 
PUSH HI 
PUSH I3C 
LD DE, VAR2 
CALL MOVE 
POP BC 

LD fVAR2+"2) v BC 

POP HL 

DEC HL 

PUSH HL 

LD A, OIL) 

RL .A 

LD Mi„,VAP2 
RL (HI J 
INC HL 
RL ( HL.) 
I NO HL 
RL (HD 




32768. Mindk6t 6rt6kkel viszonylag konnyen 
iehet bindrisan szorozni. E szorzdsokat a 
SIN_FI 6s COS.FI szubrutinok v6gzik az 
n/1 28=2 * n/256 6s 32767/32768 * n = 
n-n/32768 szdmftdsok alapjdn. Az ux, uy r 
x, y vdltoz6k 6s var, var2 r6szeredm6nyek tS- 
rol£sa 32 biten tdrt6nik. {16 bit eg6sz r6sz, 
16 bit tort r6sz.) A kdz£ppont kx, ky koordi- 
ndtdinak tdrol£sa 16 biten tort6nik. Az 
osszeadfist 6s kivondst a PLUS 6s MINUS 
rutinok v6gzik r a v6ltoz6kat a MOVE rutin 
helyezi a megfelelS helyre. 
A kisz£molt pontokhoz a koz6ppont 6rt6k6- 
nek hozz£ad£s£t, 6s a szakasz megrajzol6s6t 
a PLOT cimen kezdddd r6sz v6gzi. Sajnos a 
TVC koordindta rendszer6nek vfzszintes 6s 
fuggSleges I6pt6kez6se nam azonos, ez6rt 
az x koordindta 7/8-ad r6sz6vel kell rajzolni. 
Ezt a sz6mft6st a ZSUGOR cfmen kezdddd 
r6sz v6gzi. 

A vonalak magh0z6s6t a TVC operdcids 
rendszer6nek rutinjai v6gzik, melyek az 
RST48 (RST30H) utasft6ssal 6rhet5k el. 

Bata L&szl6, 

1137 Budapest, J6szai Mari t6r 4. I/4. 

10 !******* / osszesen 245 dtu csillag 
20 !***** / osszesen 63 dto. csillag 

30 POKE 33,130: POKE 34,26s REM EXT 0,x,y,r 
40 FOR 1=6639 TO 6956: READ A? POKE I, A: NEXT 
50 DATA 
60 DATA 

(A DATA sorokba az Assembler lista bal 
oldal6n I6v6 adatokat kell (rni I) 






225 






43 






17, 




26 


213 






205, 
209 


15, 


26 


33 , 


11, 


26 


205, 


21, 


26 


201 






247, 


9 




251 






201 






243 






34, 


243, 


25 


237, 


33, 


245, 25 


237 , 


67, 


253, 25 


33, 


0, 


0 


34, 


2 b 1 , 


25 


34, 


247, 


25 


34, 


249, 


25 


33, 


39, 


3 


225 
43 






J 7, 
I S3 


0, 


0 


23 7 1 


90 




40, 


2 1 4 




229 






42, 


245 , 




237, 
■7 c.- 


91 , 


253, J l .i 


235 








249, 










77 

on q 


i\ 




203 T 
203, 


41.1 

75 

40 




203 Fl 

'i 






203, 


40 




203, 


-> 1-- 




] 33 






237, 
237, 


66 
73, 


243, 2S 



63 
77 



247, 


6 




183 






40, 


4 




247, 


9 




24, 


2 




247, 


3 




33, 


250, 


25 


205, 


71, 


26 


33, 


7, 


26 


17, 


255, 




213 






229 






24, 






255 






63 






0, 


0 




254 






205, 


15, 


26 


33, 


254, 


25 


205, 


32, 


26 


225 






209 






6* 


4 




183 






26 
142 






IS 






35 






19 






16, 


249 




33,254, 


25 


205, 


71, 


26 


33, 


7, 


26 


17, 


3, 


26 


213 






229 






205, 
33,: 


15, 


26 
7 c- 


™' 


32, 


26 


209 






205, 
1, 


21, 


26 
0 


33 li 




25 


17,247, 


25 


237,1 


76 




195 , 1 




26 



POP HL 

DEC HL 
LD DE,, VAR 
• PUSH DE 
CALL MOVE 
POP DE 
LD ML , VAR2 
CALL MINUS 
RET 

VEG: RST 43,9 ; 
247, 9 VEG 
EI 

RET ; a 

KE ZDET : DI ; 5 

LD 
LD 
LD 
LD 
LD 
LD 
LD 
LD 



toll Fel, 
iRST 48,9 

pr ogram 



CY>a=r 



toll Fel 



el e je 



CIKLUS 



CY : -0 
HL = 0 
ke 



PI 0 r 



ZSUGOR 



B y koord. 



-HI /S 
-0 

=7/8 HL 
^>->kv 



(KX:> , HL 
t KY) , DE 
CY+2),eC 
HL,0 
<Y^,HL 
f. X ) , HL 
<X+2>,HL 
HL , 30 7 ; 
PUSH HI 
POP HL 
DEC III 
LD DE,0 
OR A ? 
ADC HL , DE ; 
JR Z,VEG ; 
PUSH HI, 
tf.D HL 5 (KY> 
LD HE, (Yi-2> 
ADD HU,Df:!; ; ML 
EX DE , HL ; DE 
I. 0 HL ,(\>2i 
LD B,H 
I II C,l. 
SPA B 
RP C 
3RA D 
RR 1; 
SRA D 

hR C - Bt;i 

OR A t, CV; 

SDC HL.,UiCj HI, ; 
LD DC, fKX) 
ADD HL,8C5 fit : 
LD B,H 
LD C,f 
RST 48,6 
OR A 
JR Z , PL 3 
RST 43,9 
JR PL 2 
PL 1 : RST 48,3 jj toll 
PL2:LD HL,X+3 

CALL C0S_.FI var: 
LD HL, VAR 
LD DE,UX 
PUSH de; 
PUSH HL 
JR UJ_S0R+4 
Dh 255 ; 
UJ_S0RiDR 63 ; 

DW 0 ; 
DB 254 ; 
CALL MOVE; 
LD HL,Y+3 
CALL SIN_FI; 
POP HL 
POP DE 
PLUS: LD B,4 
OR A 
PI :LD A, < DE) 
ADC A, (HL > 
LD (DE> , A 
INC HL 
INC DE 

DJNZ PI ; ux:=u* 
LD HL,Y+3 
CALL C0S.„F r T; var-s 
LD HL , VAR 
LD DE, UY 
PUSH DE 
PUSH HL 
CALL MOVE J 
LD HL,X+3 
CALL SIN-FI; 
POP HL 
POP DE 
CALL MINUS ; 
LD DC, 3 
LD HL,UX 
LD DE,X 
LOIR 5 x 
JP C1KLUS 
DB 75? 1 & 



pcjzi ■:: i orral as 
hifost tor tent? 
nem volt hiba 
toll Fel 



x« cos ( f A > 



^or szam 
! tokenoe 
uxu - var- 

var: -ij*s i n C f i > 



CY:=0 



s a*cos(f i ) 



uys ™var 



var : 



.1 n(f i ) 



uy*Veir 



A GEOS-rendszer sz6mos 
szolgdltatdst nyujt a fel- 
■ haszn616nak. Az eddig piac- 
1 re kerult k6t felhaszn6l6i 
program (a GEOPAINT 6s a 
GEOWRITE) mellett fontos 
szerepet jdtszanak az ugy- 
nevezett segSdprogramok 
(DESK ACCESSORIES) is. 
Segits6gukkel pi. munka 
kozben sz£mitdsokat v6gez- 
hetunk, jegyzeteket Wszit- 
hetunk vagy f igyelemmel ki- 
$6rhetjuk az id6 mul^t. Ez 
utdbbit a PREFERENCE 
MAN EGER, illetveaz ALARM 
CLOCK teszi sz£munkra le- 
hetdvg. Fontos ez a funkci6 
a file-ok nyilvdntartdsdndl 
is, hiszen minden file eset6- 
ben let£rolja a rendszer az 
informdci6s szektorban az 
aktudlis iddt. 

Az eur6pai terjeszt6sn6l a 
program k6szft6i nem vett6k 
figyelembe az amerikai 6s 
az eurdpai hdldzati frekven- 
cia elt§r$s6t (USA 60 Hz, 
Eurdpa 50 Hz), ami a rendszer 
6r£janak jelentds k6s6s6t 
okozza. Az ebbdl ered6 kel- 
Iemetlens6get megszuntet- 
hetjiik, ha a GEOS KERNAL- 
ban egy apr6bb v£ltoztat£st 
hajtunk v6gre. 
Ezt ugy tehetjuk meg, hogy 
elhagyjuk a GEOS-rend- 
szert (SPECIAL parancs, 
BASiC utasftds) 6s POKE 
53132,128 utasftSssal 6t6l- 
Iftjuk a ClA-t 50 Hz- re, majd 
SYS 52298 utasft£ssa1 visz- 
szatdrunk a GEOS-ba. Igy 
el6rtiik, hogy a g6p kikap- 
csol5s£ig helyesen fogja az 
6rdnk m6rni az iddt. 
Ha ez nem eldg 6s nem akar- 
juk minden egyes indft£skor 
ezt a bosszantd mOveletet 
vdgrehajtani, akkor Srjuk 6t 
a lemezen a GEOS KER- 
NAL-t. Ebben segft a mel- 
I6kelt BASIC program. Ha si- 
kerult a programot helyesen 
beg6pelni, tegyuk be a meg- 
hajtdba a GEOS lemezunk 
biztonsdgi m6solat6t 6s In- 
dftsuk el a programot. Ha 
eredm6nyesen lefuttattuk a 
programot, akkor ellenfiriz- 
zuk fe, hogy mennyivel lett 
pontosabb az 6ra. TermGsze- 
tesen abszolut pontossdgot 
senki ne v6rjon egy frek- 
venciafuggfi 6r6t6l, hiszen 
ndlunk a terhel6st6l fuggSen 
48-51 Hz kozott ingadozik a 
h6l6zati frekvencia. 

Honti TamSs 




Ntdsa 



GEOS SEGE0PE0ORRMOK J - C 
>>> EUR0HHER2 
> IfiTfl: HOI IT I TflMHS ">7 
SZEKESFEt IERVRE 



:l 9 

20 REM 

38 REM 

40 REM 

50 REM 

60 REM 

7B REM 

00 REM 

90 

1 m PR 1 1" I T CHR* C 1 47 > CNR* '.: 144 V- P0KE5323IS3 ,• * ; F0KE5328 1 , 30 
1 :l 0 PRINT" KEEESEM R GEOS LEMEZ'.EDEN fiZ OER RUT I N T " 

1. 20 h *■ ■: , :•- ^OHE* < j 3 > : .•; j. > ^.g MR* < 220 > 

1 30 R* < 2 > ---CHR* < 3 > : fl* < 3 > s=CHR* ! - X 27 y 

A 40 R*>:>l >™"DE0S KEEMRI. " 

1 c :>0 OPEN 1 5 , 8 * 1 5 , "I" : GOSUE350 

1 60 OP El- 1 2 , 8.2, R# 4 > : GO3UB330 

A 70 GET#2 , m ■ R* - T $ * • CLOSE 2 

1^0 OPEN SjS^/'tti" 

190 FOR J» 1 TO 17 

200 PR JHTtt 1 E , "Ul : "3 ; . : fiSC«-;T$> : REG 'PS^^CHR.f © > > 
210 OET^S, 1* , S* ■■ NEXT 

220 0E1 ^3 , : I F R* OR* t: I > T'NEi I I ■-" . 
230 1 ^ IF I<:4THEH220 

2--I-0 F'R I i I T • PR I N rSPC ( 1 4 ; " MEG T RLR7 RM ! ! " 

250 PRINT PRIUT3PC'.: 1 0;- "RTIRJRH 50 HZ- RE ? £ I , TE> u : PR INT 
200 GET R# ■ IFR*^" " 1 ! IE! 1 1200 

270 PR :i: i 'I T :^:pi:: < 1 7' > m ; r F OP I ITO 1 30 : [ !EXT • I F RT : "- " W " Ti IE!" IPR I r IT " F M 11 
230 I PR*- " I " THE I IPR 3 1-! T " OEM [ ,l = OOT0300 

290 PRINT : PRK-f rSPi:>:4> "IXSflK IGEWT VROV NEMET VRLR320LJ ! " ; 
300 PRINT#3.0MR.:M:: J20> 

\ 0 PR IU Mtl5, " M "-!■.[" CI-1R3- <, 1 >CHR ,. >CI-I«-'' 1 >C( !RJ::< j 44 > = 00S0B350 
320 PR ] NT ; PR 1 NT3PC 1 1 > "RE fl T I ERE KE32 ! " 
330 GOT 04 00 

350 r.HPUTHJ.5, R, R* = T PR - . T! IENRETORN 

300 IP H"^;-2THE-HPRIHTSPC':3) "O I EMEZROL HIRNV^IK R U R*00 
370 IFR--74 0RR^21T(-IEFIPR] NTSPCX ?'> "MINGS EE ME 2 H DRIVE -BFlN ! 
330 IFR^2ETHENPRIblTSPC<3> ,, VEDD LE RZ IRRSVEDELMET !!" 
330 PRINT" JRVITSD Hi I R HIBflT E3 PR0BRLK0Z2 OJRR I" 
400 CL ORE 1. 5 ; tl OSES • END 



■GOTO 400 

00 f 021'0 




GEOS BOOT GEOS KERNAL GEOPAIHT 




GEOWSlfE DESK TOP BACKUP 





i t a mriirt Eiimii nuiEtin 111? oiuii 



60000 : 

6000 \ ONERRORGOTO60006 

60002 IFFIiEK ( 16548) 0 234GRPEEK ( 16549) C">67T 
l-IENPR INT" As 'Atsarsz^inozu kclsz 1 " r : POKETh 165 
48,234,6V : END 
6000S Lit.) FU601C0 

6 MM '36 .1 FFRR< ? 10THENPRI NTERL " soi" , " ERR : STOP 
6iy)P)0y IF UD ^3276STHENU-W"65536ELSEPRINT- *" ; 
ERLa8 ( OF 
60008 RESUME 
60010 : 
6W0S0 
60030 
60040 
60050 
6004*13 
60070 



F I l-C 1+4: NR=NR+ 1 
W=*FUsPF=PEEK <W> 
IFEU-C2-1THENRETURN 
If PF = 1 47THENRETURN 
I EPF -=0 THE N RE I URN 

I EPF- 141 ORPF= 1 4SORPF= 1 59QRPF=2028RPF 
=149THEN60090 
60080 FU=FLJ+ 1 : GOTO60030 
60090 Z^-"":JE=0 

601130 FU=Ft.M 1 : W=FUs PF =PEEK (UO 

60110 IFPF=32THEN60140 

601 1 1 IFPF<58ANDPF>47THENJE=1 : GOT860140 
601213 IFLEN ( I* X5THEN60135 

601 30 IFPF--44THEN60090ELSE60040 
6«13^ IF JE: 3 TFIEN60040ELSEFRINT "Nines el£g 
hely a hivatkazott aorszAmnak a"SO"sarrban 
! " : EN!) 

6014W ZttZ* i-CI IR* (PF) : BQTOA0100 

60S 50 W-=G2+2: GO-PEEK CW) : W=C2+3: SO=SO+256*P 

EFK <W) 

603 60 C1 -E2^ W-Cl : C2=PEEK <W) : W=C1 + 1 : C2=C2+2 
56 * PEEK (U > 
60170 RETURN 
60180 REM kezdet 
60190 02=17386 
6(3200 GOGUR60150: 
0 

602 1 0 GOGLIB600 1 0 : GOTO60200 

60220 s 

60230 PR I IMTCHR* C 7 ) i 
fnd'nij " ; NV 

60240 IFMV< ITHENPRINT"Robsz novekm^ny 1 
TD60230 

60250 IF CNR- 1 ) *NV>— 60000THENPRINT" Tul nagy 

novekrngny ! " s GOTTJ60230 
60260 GLG: KK=0: K0==256*PEEK (20) 
□2=17386 

GQSUB60 150: IPC I =0ORSD> =60000THEN6046 



IFC 1 =0ORSO> =^60000THEN6022 



: INPUT'" Mekkora 



602 70 
60280 
0 

60290 
60300 
60310 
60320 
60330 




novek 



: GO 



GOGUB60300: GGTO60280 
Fll-Cd -1-4 

W-FUs PF- -PEEK ( W > 

I FFU^C2 1 QRPF= 1 47ORPF—0THENRETURN 
I EPF— 141 0RPF=1 450RPF= 1 59ORFF=202DRPF 
==149THEN60350 
60340 FU^FLH 1 : GOTG60310 
60350 Al-FU: 7.$= '' " : JE-0 

60360 FU FU+i; W-FUs PF=PEEK (W) : IFPF=^32THEN6 

0360 

603 70 I F P F < 58 A N DP F > 477 HENZ*=Z*-+-CHR* (PF> : JE 
=■1-: UGTU60360 

60380 IF JC ! 1 THEN60320EL SERC—VAL ( Z^ } 
60390 GOSUB60410: W=-A1 : A2=WAND255: W=RE: R2=W 
AND255? W -kF: POKEW , A2 , INT (Al 7256 > , R2 , INNT (R 
C/256) : BEEP40,200; 50,200; 30, 800; 60,400 
60400 KK=KK+J : IFPF=44THEN60350EESE60320 

604 10 V V =K0+KK*6: RETURN 

60420 kk>-0: W=UC: U1=WAND255: 82= I NT (UC7256) : 
Wtȣ30 = 31^WAND255= S2" INT ( SO/256 ) 

60 1 SM EE - K 0+2+ YlK+h : W=KF : IFPEEK ( W ) O0THEN60 
44 0 

6043 J W-KF + 1 ; IFPEEK <W> O0THEN60440 

604 32 W C 1 +2 : POKFiW , U 1 , U2 : BEEP 30 , 3 : RETURN 

604 40 W-KF : I EPEEK ( W > < > S 1 THEN60450 

604 4 i W=KF+ 1 1 I FPEEK ( W > O S2THEN60450 

604 42 W-KF +'2 : POKE W , U i , U2 : BEEP 4 0 , 4 

60450 KK l<K+ie GGTO60430 

60460 L2-17386: JE-0 

604 70 BO EH J 13 60 1 50 s T F J E < i THENUG=SO : J E=2ELBEU 
C -LIC+NV 

60400 IF C 1 -0ORGG> —60000 r HEN60570 
60490 GOSUB604.20S GOTO604 70 
60500 W---A1 

605 J. 0 W--4.il 1 : PF= PEEK CW ) : IFPF=320R (PF<58ANDP 
F > 47 > THENPDt F W , 32 : GOT 8605 1 0 

60520 tl$- HTI^tdiC) s IFL FN (Ui 1 ) > 5 THENUi-R I GHT* 
6053M Fl )RJ-tl OPEN (U*) 

605 40 Wf=AI f J s POKEW , AfeiC ( M I Ut ( U* , J , 1 ) > : BEEP6 

0,60-; 5, 100 

60550 NK X f J 

60560 RE FUFcN 

605 70 KK-0 

60580 BG8UD60410 

6iz)5 c / l 0 W KE 5 1 - f "EEK ( W > z W^KF+ 1 : A 1 =A 1 +256*PEE 
KCW) aW= KF+-4sUC=PEEK <W) : W=KF+5s UC=UC+2556*P 
EEK (W> 

60600 IF- A 1 — 0THEN60620 

60601 1FUC^0THEN60615 
6061C) GDSU0605G0 
60615 KK ^Kk 4 1 : GOTO60580 

60620 CPS: GNERROR6OTO0: PRINT "K^sz az Atszi 




RENUMBER PRIMO 

Az &tsorsz&moz6 program haszn&lata 

A) Ha korultekintflek vagyunk, akkor m6r programszerkeszt^skor ugy frjuk 
ie a GOSUB, GOTO, RESUME, ELSE, THEN ut£ni sorszamot, annyi szo- 
kozzef elotte vagy utana, hogy a helySn eJf^rjen egy m£sik otkarakteres 
S2^m is. Ha megfefedkezunk r6la. az sem baj r a program majd figyelmeztet ra\ 

B) Az ujra sorsz^mozand6 program ne tartalmazzon 60000-n6l nagyobb 
sorszamot! 

C) Betoltes. Az ^tsorszamozand6 program a g^pben van! Parancsm6dban 
beirjuk: 

C = PEEK(16633) + 256^PEEK(16634):C = C-2:C2 = INT(C/256): 
:C1=C-256*C2:P0KE1 6548X1 X2:CLEAR 

D) Betolt^s ut^n egyszer lefuttatjuk, akkor vissza^Uftja a BASIC eleje 
mutattft: RUN 60000 

E) Ha m6g egyszer lefuttatjuk a RUN60000 paranccsal (vagy ak£rhany- 
szor!), az ujra sorsz^moz(3 program el6szor megvizsg£!ja a hivatkozasokat, 
a GOSUB. GOTO. ELSE, THEN 6s -RESUME ut^ni szSmokat, hogy m6dosrt^s 
eset^n lesz-e eleg hely egy otjegyu sz^mot beirni. Ha valahol nines el6g r 
a sor sz^m^t kiirja 6s megall. Ebben az esetben a sorszcim mell6 befrunk 
n^h^ny sz6kozt, „EDIT" uzemm6dban, utana a RUN60000-ref ism^t el- 
indfthatjuk. 

A vizsgilat uUn megk^rdezi a sorsz^mok I6p6sk6z6t. Helytelen 6rt6k meg- 
ad^sa eset^n hibajelzSst ad. Az ^tsorsz^mozand6 program kezdfi sor^nak 
sza"ma megszakad. 

Fut^s kdzben hangok jefzik, hogy a g6p Gl. 

A befejez^st a , f Kesz az ^tsz^moz^s' , felirat jefzi, kdzben a k^pernyot hasz- 
nalja adatt^blanak. 
Koszper Vilmos 

INPUT RUTIN PRIMO BHHI 

Programoz^s kozben sokszor szuks6g van olyan input rutinra, amely „ef- 
fogadja" a" ;. 6s a: karaktereket. A program az inputnal v^r, 6s m^st nem tud 
elv6gezni. PRIMO-ra szeretn6k egy INPUT RUTlN-t kozreadni, ami megoldja 
ezeket a prob^m^kai. 

A tulaidDrik^ppeni ruiin at 1000, sorban kezdi5dik. 

Az Blkalrna*As meg^rtes6hez 5-80. sorok adhatnak magyarA?ntoi, A 1020. 

sorb a megfefelSen elheJyezett GOSUB-bal p^ld^u! kilrathatjuk a k£rd£sre 

haszn^lt gondolkodSsi \d5\ fofyamatosan. A programrdszlcter iehet bflvfteni 

ugy. hogy cs*k szamokat fogad «L fPI. 1022 (FA9<CHR5(48) AND 

A$)CHR${58) THEN 1020) 

Moln&r Tibor, 

8923 Nemesapati, Fc5 u. 17. 



i 



SlAMkrAllECNllllJ ME Lil 1LET -T 1 1? APIlLII 



fe.,@ t p m 



ZX SPECTRUMRA es 2szem6lyre 




Lapocsk&nk torteneteben eleddig meg nem fordu/t eld - Ml' istennek -, 
hogy egy kozolt program szerzoi jogan osszevitatkoztak volna olvasdink. 
Ami kesik nem mulik. I me a furcsa eset dokumentumai : 



u 



Elofelv&telis katona vagyok Deb- 
recenben, a BIT-LET rendszeres 
oivasdja. R6gebben megjelent egy 
cikkem „Nagyfelbontdsu grafika 
ZX 81 -en" cfmmel, az6ta „St- 
nyergeltem" Spectrumra. A 
BIT- LET febr. 26-i szdmdban Rucz 
Lajos „Rajz a borderen" cfmmel 
cikket jelentetett meg. A cikkben 
kozolt egy disassemble listdt a 
rutinok felhaszndldsdnak leirSsd- 
val, az egyes memoriacimek f unk- 
ci6jdval. 

Az emlltett rutint 6n frtam kb. egy 
6vvel ezelOtt, s BASIC demo-val 
kieg6szitve BORDERPAINT n6ven 
ismerhett6k meg azok, akikhez 
csere utjdn eljutott. Rucz Lajos 
cikkGbdl hidnyoltam, hogy nem 
emlftette meg: a rutint egy nem 
sajit programbGl vette 6t. 
Nem az a c6Iom f hogy a szerzdi 
jogr6l vitatkozzam, hanem Meg6- 
szftsem a megjelent cikket, emely 
©leg hi£nyos volt (nem emlit ne- 
hany Iehet6s6get, amelyet a rutin 
tud ; nines magyarazat a program- 
listahoz; nem emlfti meg a mas 
memdriacrmekre vald beforditas 
probl6mait stb.)r s fgy az olvasd 
6nall6 kfs6rletez6s6nek utjaba all. 
A levelemhez mell&kelt cikkben 
ezeket a hianyossagokat szeret- 
n6m megszuntetni, s n6hany tdm- 
pontot adni a tovabbi fejlesztd- 
sekhez. 

A hatter szinezSse 

ZX Spectrumon 

/. Mat csin&l a program ? 

Lehetove teszi, hogy a borderen egy- 
szerre tobb szfnnel Jrhassunk": ku- 
lon szfnnel a felso keret felsfi r6sz6re 
(ez a kepernytf tetejStol a paper-r6sz 
tetejeig tart); valamint a paper-r6sz 
k6t oldalan levo 192 (!) sor mind- 
egyikere. Az egyes h£tt6rr6szekre 
(ezentul mez6k) frhatunk normal vagy 
villog6 szfnnel. Normal szfn: az eddig 
ismert szfnek 0-7-ig; villog6 szfn: az 
eredeti flash" utemenek megfeleioen 
(esetleg m3s fazisban) a normal szfn 
6s a kiegeszfto szfn (k6dja; 7-(norm3l 
szfn k6dja)) felvSltva jelennek meg. 



WAMlHSTfcmiiOi NELlllLET HI? iMlLIS 



2. Hogy an csandlfa? 

A Z80A processzor 2-es megszakft^si 
uzemm6dj3t haszn^lja fel: az ULA 
mindig abban a pillanatban r amikor a 
k6perny6t kezdi el k^szfteni, megszakf- 
t^st „kezdem6nyez", s ezt a Z80 vagy 
elfogadja, vagy (pi. BEEP, LOAD, 
SAVE kozben) letiltja. Igy a k6pk£szf- 
t£s 6s a megszakft£srutin szinkronban 
van egym^ssal. A mi sajcit rutinunk 
teh^t a kovetkez6ket csincilja: adott 
ideju k6sleltet6s ut£n az aktu^lis mez6 
szfn6t (a villog^st is figyelembe v6ve) 
„frja rci" a borderre, s ezt annyiszor 
ismdtli, ah^ny mezfink van. 

3. Igy Spuf fel a program : 

A lista elejSn egy ugr6tSbla tal3lhat6, 
erre az6rt van szuks^g, hogy a fordt- 
t^si cfmtfil fuggetlenul konnyen ki- 
sz^mfthassuk az egyes rutinok hfv^si 
cfmeit. Az INTON rutin bekapcsolja a 
sajcit interrupt rutinunkat az INTOFF 
kikapcsolja azt. Ebben a megval6sf- 
t^sban az INTRP kezdflcfme csak 
#FE69 = 65129 lehet! (INTRP eld 
ORG 65129 kell.) A feladatot v^gre- 
hajt6 rutin az INTRP. Ez k6t rutint hfv: 

1. COLOR: a border als6 6s felsfi r6- 
sz^nek szin6t frja a borderre a f^ziscit 
figyelembe v6ve; 

2. WAIT: Id6huz^s 

A kovetkez6 5 rutinnak m^r semmi 
koze nines a megszakft^shoz, ezek a 
szinmem<5ri6n v6geznek muveleteket: 

1. SCDOWN: Iefel6 scrolloz 

2. SCRUP: felfeld scrolloz 

3. INVERT: a szfneket invert^lja 

4. FLON: a villogdst bekapcsolja 

5. FLOFF: a villogist kikapcsolja 

(A rutinokhoz nSszletes magyar^zat 
talcilhat6 a mell6kelt programlist^n.) 

4. ProgrambelovSs 4s csapd&a 

EI5sz6r a csapd^kat em I item meg r 
hogy a program belov6s6nek meg^r- 
t6se egyszerubb Jegyen: 
1. Ha a processzor a #4000-#7FFF 
cimeket frja-olvassa, mukdd^se a k6p- 
ernyokeszit^ssel 6sszefugg6 hardver 
okokb6I lassabb lesz. Ebbdl k6t dolog 
kovetkezik: 

a) A program csak a #8000-#FFFF 
tartomcinyban lrelyezhet6 el (ebben a 
form3j3ban). 

b) Amikor CLEAR utasftdssal Iev6d- 



juk a mem6ri4t argumentumkent olyan 
k sz^mot kell megadni, hogy a pro- 
cesszor stack ne keruljon a Jassu" 
cimtartomanyba. A k sz^m 6rt6ke a 
BASIC-ben levo szubrutinhfv^sok 
m6lys6g§t<5l fugg6en kb. 33000... 
65000 cimek kozott kell, hogy legyen. 
2. A vektoros megszakft^si m6d miatt 
az INTRP rutin kezd6cfme ebben a 
form^ban csak 65129 lehet! Ameny- 
nyiben a rutint mSs cfmre fordftjuk be, 
^elsz^ll" a rendszer. Ha m^gis szeret^ 
n6nk m^s cfmre befordftani INTRP-t 
az INTON rutint 3t kell alakitanunk: 
INTON LD HLJNTRP 

LD (#FEFF),HL 

LD A,#FE 

LD LA 

IM 2 

RET 

A programbelov6s fizisai: 

1. Megfelel6 assembler/editorral be- 
irjuk a programot (GENS3) 

2. Az INTRP e\6 elhelyezzuk az ORG 
65129 utasftSst (vagy a m6dositott 
INTON rutint haszniljuk 

3. A TABLE, INTON, INTOFF prog- 
ramr6szeket ugy helyezzuk el, hogy 
sem a szmmem6riSval, sem az INTRP- 
vel ne keruljon fed6sbe. (pi.: TABLE 
eld ORG 65000-t frva) 

4. Befordtt^s, filement^s stb. 

5. A mem6ria Iev6d6se (pi.: CLEAR 
64999) 

6. Szfnmem6ria feltolt6se, futtatSs 

5. A szinmam&raa 

Kezd6cimn6l a „CMEM EQU..." sor- 
ban Sllfthatjuk be, m^rete 192 byte. 
A byte-ok bitkioszt^sa: 
b7:0/1 : villog^s ki/be; 
b6-b3: ures; 
b2-b0: szfn 6rt6ke. 

PI. 7: feh^r, 135: fekete-feh6r vill., 
4: zbld, 132: zold-lila vill. 
A Iegels6 byte a legfels<5, a legutols6 
a legals6 mez6 szink6dja. TOP cfmre 
a border fels6. BOTTOM cfmre a 
border als6 r6sz6nek szink6dja kerul. 

6. ErdekessSgek : 

Az alcibbi m6dosft^sokkal v^ltoztat- 
hatunk a program mOkod^s^n, s fgy 
6rdekes hat^sokat 6rhetunk el: 
XI BIT 4.A/BIT 3A/BIT 2.A/BIT 
1 .A/BIT 0.A: a villog^s sebess6g6t 
gyorsfthatjuk 



1 



I. 



B. ProgramliBta 




TABLE 


JP 1NTDN 


I Az agysG rutinok U g r £ B i 




JP INTOFF 


[ tablaiata 




JP SCRUP 






JP SCOOWN 






JP INVERT 






JP FLON 






JP FLDFF 




INIQN 


LD A, 9 


p Ezzel a rutinnal arjuk ml , hogy 






otegazakitAekor 




LD I, A 


■ az INTRF rutin legyen vAyr •h» jtv« 




IM 2 


| (1»256+25S)=>1NTRP 




RET 


1 V*ge 


INT OFF 


LD A, 62 


I Az I ragiszter itredetl arttkanek as az 




IM 1 


1 1-es negazakitasi obd 




LD I, A 


. baailitaaa 




LD A, (23624) 


1 Az eradeti border viasraiintisa 




AND 56 






RRCA 






RRCA 






RRCA 






□UT (254) r A 






RET 


I Vage 



X2 LD A,N (N=0...7) 

X3 LD A,M (M=0...7) 

A villogas k£t aHapotanak maszkj^t 

vciltoztatjuk meg. 

X4 LD B,K (K=1...192): a koz<§ps6 
r6sz mez0sz£m£t allitja. 
X5 LD BC.NN (NN*1 ...191): az als6 
NN sor scrollozza. 

X6 LD BCMM (MM = 1 ...191 ): a 
fels6 MM sort scrollozza. 
Vigy£zat! NN 6s MM m^s 6rt6ke a 
rendszer ,,6sszeomlSsahoz" vezethet! 



Anig a rutin fut, 
megszaki tdbt 



kail til tar. i • 



\ 
I 





PUSH AF f 


A ■felbasznalt regisztsr H k elment&se 




PUSH BC | 






PUSH HL 






LD A, (COUNT) ■ 


COUNT -ban az addigi iwgaz ak I La oak 




INC A 


itindan 16. 




AND 31 i 


megszakltia utan a villogii mezOk 




LD (COUNT) A | 


naszkiat v41 toztat juk, azt a 


XI 


BIT 4, A 


MASK-ban t*roI Juk 


3(2 


LD A, 7 | 






JR 2, INT Rl | 




X3 


LD A T B , 




INTR1 


LD (MASK) ,A | 






LD A, £TOF) , 


Az A rtsg. a border + aluft rasz&nek szln 




CALL COLOR f 


-> Border 




LD BC , 4 


VarakozSE, amig a border -falsa 






reazensk 




CALX WA IT 1 


a v^g^re neJh l^rtunk 




LD BC,9473 , 






CALL WAI I 1 




1* 


LD B,l?2 t 


B^mazOk nzama 




LD A, (rtASK) i 






LD C.A 


C-MASK 




LD HL T CMEM . 


HL=a mezOk *s inmemdr ia janak kHdBcime 






3z Ami Alb Blmant^se 




PUSH AF 1 






LD A, <HL )* | 


A szinmemoria &or Link U vet kei & byte- j a 




BIT 7, A | 


as a MASK 3«gitgeg*v(=l meghatirnz-ia a 




JR Z,INTR3 | 


ki ir ando sz £nt 




XDR C 






AND 7 i 






INC HL 


A ftziumemoria kUvetkezft byta-jara lap 




OUT (234), A I 


- > Bur dor 




LD B,4 | 


Varakazas, amlg a kovetkeifl 


IF*™ 


NOP | 


mazO elaj^rB ariink 




NOP i 


A NOP-okat ns hagyd ki ! 




NOP | 






DJ*2 INTR4 | 






POP AF 






FOP 3C r 


A «4mlil6 vis^zatoltaee 




nc?i2 IK7R2 l 


Ci'^i^g- ssi^ varj^ak nee 3fc 




LD A, (BOTTUM) } 


A s a border alaO risi(ir*i»k nine 




CALL CULDR f 


=i> Border 




POP HL i 


A falhaaznilt r*giszterek 




POP BC | 


eredeti ertik^nak 




POP AF | 


visEzatmta^k 




JP 56 ] 


Ugrla az eradubi int. rutmra 


COLW 


; 

LD B,A ■ 


B^gz ink (id 




LD A, < MASK > J 


ft -n ASK 




BIT 7,B | 


Villagaa ■settn 




JR Z T COLl J 


B^ttadusltatt uzinkQd 




XOR B [ 






LD B , A p 




III' 


LD A,B | 


A-szlnkod 




OUT (254), A | 


=> Border 




RET 1 


Vrtgo 


WAIT 


LD A,B p 


VarakozAs: D=finont azab. 


UA1 


LD B,A t 


C=durvs szab. 


WA2 


DJNZ WAS 1 






DEC C | 






JR NZ, WAI , 






RET p 


Vega 


SCDOHN 


LD HL, CNEM+19B i NL=az 1 nmeroor i a utolso elflfcti byte-j 




LD DE, CMEH+I71 | DE==3*nmomOrla utolso by La- j a 




LD A, tDE) 


| A K az utolso byta tartalma 


X5 


LD BC,1<?1 


1 BC<-mazdttandD byta-ak azama 




LDDR 


I rrinden byte-ot eggyel hatrabb mozdl 




LD (DE),A 


1 A korabbi utolso byta leaz az elafl 




RET 


1 vaga 


SCRUP 


l_D HL , CMEM+ 1 


| Ugyanaz az elv, mint BCDOWN-nai 




LD DE.CMEM 






LD A, (DE) 


t 


K6 


LD 80,191 






LDIR 


| 




LD (DE ) , A 


| 




RET 


I vege 


INVERT 


LD HL , CMEM 


| HL=Ezinmemoria kezdete 




LD B,192 


1 A HzAmiaio healiitasa 


INVi 


LD A, 7 


I S2in fordltasa 




KOR <HL ) 


1 




LD (HL),A 


1 




INC HL 


p KovetkazO byte-ra lap 




DJNZ INV1 


I 




RET 


1 Vagii 


FLDN 


LD HL , CMEM 


t Az alv ugyanaz, mint 




LD B,l*?2 


■ az INVERT-nel 


FL1 


9ET 7, (HL) 


I A FLASH— bi t L-he allitisa 




INC HL 


■ 




DJNZ FL1 






BET 


i vage 


FLUFF 


LD HL , CMEM 


1 




LD B.I92 


1 


FL2 


RES 7, (HL> 


■ FLASH— b I t torlfisB 




INC HL 


1 




DJNZ FL2 






RET 


1 wage 


COUNT 


DEFB (9 


I SzAmiairi 


MASK 


DEFB (9 


j Maazk 


TOP 


DEFB B 


1 Border feleO ribiB 


BOTTOM DEFB 0 


| Border- al b6 rasze 


CMEM 


1 

EQU 6332B 


1 9z»nmem6ria kezdete 





7. Hogyan tovtbb? 

Akinek sikerult a rutin mukbd6s6nek 
meg6rt§se, onmaga is kfs6rletezhet 
egy^b borderhat^sok ei6r6s6vei. Az 
id6zft6sek megv^ltoztat^is^val, esetleg 
elhagy^s^val nagyobb F ,h£tt6rfeibon- 
t^st" is el^rhetiink, s6t a border felsfl 
r6sz6re kicsit durv£bb ^br^ikat is raj- 
zolhatunk. 

Nov&k Istv&n 



Fontosnak 6reztiik,hogy tisztSzzuka tisztazandokat. 
Ime Rucz Lajos vatasza. 



Tisztelt Novdk Istvdn 1 
1987. III. 7-dn kelt Ievel6re k6ts6g- 
teienul reag^lnom kell. M61ys6ges 
eln^zdst kell k6rnem a rutinnal 
kapcsolatos mal6r6rt, ez6rt rovi- 
den vdzolndm az el6tdrt6netet. 
Kb. 1 dvvel ezelStt egy bardtom 
hibds magnetofonmdsolatbt jut- 
tatott el hozzim, melyen az emli- 
tett rutin is megtal6lhat6 volt 
- BASIC bet61t6 6s DEMO n6l- 
kul. A rutin hibauzenettel Silt 
1e betolt^s utdn, tobb byte hibS- 
san toltSdott be, igy rendbe kel- 
lett hozni, 6s ezut£n lehetett ki- 
pr6b6lni szolgdltatdsait. A rutin 
hamarosan pihendre vonult r tobb 
hasoni6 tdrsa mell6 - melyek 
koziil tobb is kezeli a BORDER-t, 
6s sajit tervez6su. Igen nagy 
szoftverb&zis 611 rendelkez6sem- 
re r meiyek ktizott akad n6h6ny 
amely esetleg „n6v" n6lkul kerult 
hozzim. Igy fordulhatott el6. 
hogy az emlftett rutin - mely 
megnyerte a szerkesztos6g tet- 
sz6s6t - az on nev6nek kozl6se 
n6lkul jelent meg az ujsdgban. 
A tort6ntek6rt ezuton m6g egy- 
szer eln6z6st k6rek. 

Egyet^nek a kieg^szfto informSciivaL 
azonban annyit mindenk^ppen meg 
kell ernlltenem, hogy a rutin mell6 
osszeSIHtott magyar^zatok c6Jja elsfi- 
sorban az volt, hogy a rutin legfonto- 
sabb 1ethaazn^(hat6s^gi param^tereit 
bemutassak. Tudom. hogy el^g neh^z 
ma megtal£lni az iga7» nyolvezeti 
m6lys^get a felhasznaJtik fe16. nem 
Tudni kinek mi az ^rthetS, ill. mennyi 
magyar^zat szuks^ges hozza Sokan 



beleesunk abba a hib^ba, hogy amit 
tudunk, azt mar m^s is tudja, s ebbfil 
bonyodalmak szarmazhatnak. Igy ugy 
6rzem, magyarazatai nagyon j6l ki- 
munk^ltak, ^rtelemszerCiek, de tobb 
belyen tOlsSgosan az alapok szint]6re 
utef6, marpedig akirfil feltetelezzuk. 
hogy a Q&pi k6dii programozAs szint- 
j6jg mereszkedik, annak az6rt illik tudni 
egy k^t dolgoL Az Interrupt tal kap- 
csolatos kieg6szit6seit szuks^gesnek 
tartom. A rutin fel6plt6se szint^n csak 
megcr<5sit6si inform5ci6, egy^bk^nt a 
gepi k6du rutmb6i ez a blakks£ma j6l 
elku16nfthet(5, Nagyon j6nak tartom. 
hogy megemlfti a programbeiov^s 
csapdait. s" hrvatkozrik a hardver okok- 
b6l bekovetkez6 ,Jassulas' -ra. Itt az^rt 
nem artott volna hivatkozni arra, hogy 
ez a hibajelens^g megkesentheti az 
6letunket a LOAD/ SAVE muveletek 
hasznalata eset6n is, pi. nem eg6sz- 
s6ges dolog egy TURBO betolt6t a 
PRINTER BUFFER terulet^n elhe- 
lyezni A programbelov^s utmutat6j^t 
j^nak tartom. de ez az egy dolog. 
amefyre. ugy 6rzem. nines 6rtelme 
egysdges ^jtmutat6t adnunk, hiszen 
mindenki a j63 bev^lt is megszokott 
m^dszer^t aJkalmazza a e£l ^rdek6- 
ben, Az 6rdekess6gek n^h^ny dolog- 
ban val6ban uj inform^cibkat nyujta- 
nak az olvas6nak, itt 6n is egyet6rtek 
a magyarSzat szuks6gess6g6vel. V6gul 
egy rovid megjegyz6s. A rutin sz^nd^- 
kosan lett decimSlisan listazva, els6d- 
legesen a kozvetlen adatbevitel el6r6se 
c6ljab61, egy^bk^nt a komment mezfi 
elstfsorban a rutin hosszusaga miatt 
maradt el. 

Rucz Lajos 




Bar mely program bonyotultsaga addig fokozodik, 



amig tut nem no programozoja kepessegein I 



(Murphy torvenyk&nyva) 




luauuiitiiiiji wiuuih hi" '"ins 



:l 78 
I 75 

im 

is 0 
288 

213 
220 

23 O 

258 
268 
270 
238 
23 a 

200 

310 

328 
3-J 0 

350 

330 

400 
4 J 0 
4 20 
430 

4 50 
460 
470 
490 
430 

'300 

5 :!, 0 
520 
530 
540 
550 
560 
570 

59a 

700 
0 1 0 

£2 ft 
630 
646 
650 

660 

6 ;-'0 

630 

700 
710 
720 
730 
740 
750 
760 
770 
780 



*8:<M- :* 



PER 
REM 

P0KE53280, II 
PRIHT" 

ppupi " 

PRINT" 

PRTWT''c:i0, ,F7*iMM F E .1 LODE 3 , Foj'iliilll 

PR I HT 11 W^^i^IlMlliJN ' K I KBPCSOLRSR * F M US ffi aH{8i iJRlSgEi IH 88 M HI WlftiBUeR ffig W 8B V F* T KO LSR S , , , 

PRINT'- 1 , , , F '1 "J2t l& tStl 1% iiJft ISft (SUSSSl UBI ISit SlfPj ISA T§ft !SSt OT. ttffit @9 IS S% J ■ -*- fe " - 1"-* P-^ -v- ; - •••• , F2" • F OR I 2. T078393 



P0F4E53281 , J 
BEFlLLI TPS v 
PR JZOI R3 » v 
RR.)Z VEGE, 



2 ' PR 'I HT M CMftl FEET • • J RTEK^'P CHR* 8 > 

, HA r ? m K)Y2w n 

..... SH" : PR I NT " TORI ES , „ .. , « C=' 

SSRETURt \W. F 1 17 E 'nJpJwM. WMWM i.I W. if III Ml H !5t' 11 lUf !!!& IK Kl '$ fit iffl ml iU J GERERE" 



RERRR ; PORE T , p = MEM i I ; PR I Ft T h >M 
GE7R* : I F R.t- ;; ~ " - J " TRENJ'R- "J = Q0TG238 
I F R^<> ll B"tWEM260 
PR I NT'Tr 

{<*- 1 024 •• X^IR : V= 12 4 F i 40*2 *- X 
0- PEEK: (, L > • P0K5L / 43 = I F JO^ I 'V REH488 
P0KE649 ■ i ■■ F l 01<E650, I 23 
P~;PEEK <288 > 
I i- P-<i5eTRENX==X+ I 
T rp,:::45TI=!EN2-X- 1 
IFF' -5 5 \ HEHV™V-i 1 
IFP^4 6THEHV=V- I 

T PR:::;: j JFIEN590 

IFP-64 T REH320 
60 T 0500 

P-1. 27 -PEEK <: 56320 > 
IFP=*2T» IEHV^Y-i- I 
IFP^6?HEWX~X*- 1 : V="Y«* 1 
IF P=-=4 R-IERX^X-1 
IFP^3THEHX"-X™1 ' Y~Y 
1 FR' ::: 1. fHENY-V-0 
IFP-RTHEHX-X* 1 = V^Y - 1 
iFR^RTHEHX^Xh 1 
IFP^10TWEHX^X+:i ■■ Y^Y+3 
I FF^ 1 60RPEEK <; 293 > = I T!" 1ER590 
IFX4 33TRENX-39 
I FX •".0 [ F'ERX-R 
IFV724 TWEKY-24 
I FY CRTH19HY-0 
Z-PtEF7:653> : H;4Pf 40:*:Y+ 
I F%»R"T FLEHPOKEi ... , Q 
IFZ= I rHEl4P0KEE,8 :!. 
l|^2Tf!Eb-IP0KEi....,32 
L ••44 ■ *- 1 0TO308 

POKEL ■ O i POKES*? 19 • POKE 6 5 9 

GF T' R # 

J:FF^ u ^ m TMFM280 
1FR^^ 1, 18 M [RFNRR^ 
XP'R4^4'L!r rFIERP-1 
H :: 4"7R^ M Sr i f'REWR-0 
I F'FRf " QRR : -" ;LTi 1EF iSYS.78672 
GG rO60G 

RRTR169 , 0 , 1 33 , 1 80 , 160 . 1.00 , 1 33 , 



K FEE! ITYU VRC6 1 ftlJ MVS f T, CK 1 




101 . 169.32, 162 - 4 



RRT 0351 , 280 • 101 
DR 1 R133, 10 .1 , 169 

R Ml F( t >A . •■• , 

DFl TFl32 200, 1 1.2, 
ORTFll 08 , < : "6, 1 24 , 
RRTRF; :! , i 45, im , 
OR 04:74, 10F - 252, 
OR 04 1 00 , 168 - 4 . 1 
OR ( R24R , 230. 98, 
DR PR200 - 32 , 200 1 1 2 ,162, 2'.' 
□RTR98 , 208 - 2 , 238 , 182 , 96 , :.: 



202 , 208 r 244 , X 69 , 2 1 5 ,- 1 83 , 
0, 133, 23 1 , 169 , 8, 1.33 ■ 252, 



168 ■ 0 r 145 ■ 188 
93 - 1 33 1 88 / 1 69 3 , 1 33 
169,0, 133. 182. 160.0, 



52, 24.;:t . 5 , :i 68 , 40 , 32 . 2 
I 60 , 88 , 32 , "I 76 < 112- t , 
1 12, 169, 2 , j 87, I 02, 208, 
76, 124, i ] 2 ■ 160 -44 , 160, 
16 , 1 6 7 , 230 , 25 1 , 1 69 , 24 , 
33,99, 169, 108, 1.53.,. 101 , 
29:8 , 1 8 I ■ 282 , 208 - 240 , 9k 
, 228, 252 , 
38 , 98 , 29:0 



GO . 1 12, 162, 39, 228 < 252 , 248 
3 r ! 97, 102, 283 ■ 9, 168 - 41 , 
15 . - 68 ,41,1 68 ,81 / 20 9 , PS 
32 , 1 45 , 1 GO , 32 , 2.29 , 112,2 
197, 251 , :i 6, 1 55, i 68 , 8 - 1 3 
162, 4 - 168, 8 ■ 1 77' , \ 08, i 45 
, i 62 * G . 228 j 252 - 2 4 0 , 3 . 32 
48 , 4 . 208 , 32 , 288 t 1 12 , 96 , 16 
1 00 .- 1 66 , 98 , 283 , 4 , 238 , 99 , 2 



, 200, 288 

■ ''.'9 , 1 : : ,9 ; 99 

42, I 76 Pi 12 
. 5 / 168 , 42 
169, 31 , 145 
, 288, 7, 169 
38 r 252, 169 
3 , 88, 1341 

■ 9'. j > 2)']0, 2^8 
, 208 , I 12 
9,81, 209 
38, 101 , 96 



£iet-fdt4k „sorozatunkban " eddig m4g nem kozoitunk C 64-re Irt 
v&itozatot. Vdrtunk. Tudtuk, hogy eiSbb-utdbb Srkezik egy olyan 
program, ameiy gyorsas&gban, tud&sban foiveszi a versenyt a 
C 16-os, Spectrumos v&tozattai. Nos r a program megSrkezett. 
SzerzS/e Soiti Andras Budapestr&I. 

A C 64-re frt valtozatban a k&pernyo keret£t semlegesnek tekintet- 
tem, fgy az ott levo sejteknek a kulso oldalon nines szomszSdjuk. 
Ezzel a modszerrel el6rheto, hogy mind az 1000 celfa 6letk6pes. 
A keretet m6rgezonek tekinto vdltozatban az 6lett6r 23*38 celldra 
szukulne. 

A program nam nyujt kulonleges szolgaltatast, a kgpernyore be- 
rajzolt sejtkonfiguracio 6let6t kovethetjuk nyomon, I6p€senk6nt 
vagy folyamatosan. Lehetds6gunk van a fejl6d6s soran beavatko- 
zdsra is, ez fSleg a I6p6senk6nti uzemm6dban haszn£lhat6 ki. 
Ha valakinek ig6nye van valamefy konfigur£ci6 lemezes t£rol£s&ra, 
a dr. Uri Laszl6: C 64 II. kdtet6nek 9.4 fejezet6nek v6g6n taldlhat6 
programot frja be szubrutink6nt. Kezdd 6rt6knek 1024-et r v6g6rt6k- 
nek pedig 2024-et adva. Hfv£sa a 600-660 sorok kdzt tdrt#nhet, pi. 
605 IF A$="S" THEN GOSUB 2000 

VisszatoftSs a szoWsos „buv6szked6ssel": 150 IF A=1 THEN 290 
260 :GOTO 271 (280 helyett) 

271 PRINT" UJ U/Lemezr5l L" 

272 GET A$:IF A $="U'THEN280 

273 IF A$(>"L"THEN 272 
274INPUT"NEV"; N$ :A=1 
275 LOAD N$, 8, 1 

A BASIC program nem szorul kulon magyarazatra. A kezdo Sllapot 

bedllftdsa utSn akSr billentyukkel, ak£r joystick-kal rajzolhatunk 

a SHIFT, torolhetunk a C= egyideju nyomva tartdsaval. 

Az egyszerubb fei6pft6s, illetve a gyorsabb mukod6s 6rdek6ben 

a brllentyuk figyel£se a 203 cfmen talalhato kddok felhasznalasaval 

tortGnik. A mozgatdsra a d []? gombok szolgalnak. 

A rajz befejez6se utSn {RETURN vagy tGzgomb) az "F" billentyuk- 

kel valaszthatunk a tobbi funkciok kozott. 

Az uj nemzed6k !6trehoz£sa a g6pi k6du rutinnal kb. f6l masodperc, 
fgyfolytonos fej 1 6d 6s eset€n lltvdnyos sebess£ggel vdltozik a k6p. 
A tovdbbi I6p6sekhez a folytonos fejJ6d£st akkor is ki kell kapcsolni, 
ha m£r minden „kipusztult" a k6perny5r6l. 

A g6pi k6du rutint egy k6perny<5 m6ret(j munkaterulet torl6se utan 
v6gigp5sztdzza a k6perny6t. Ha sejt keletkez£s£hez, illetve §Ietben- 
maraddsdhoz alkalmas felt6teleket talSI, a sejteket a munkaterulet 
megfeleld regiszter£be ulteti. Az utols6 cella vizsgdlata utan a 
munkateruletet 3tm£solja a kgpernyore, majd visszat6r a BASIC 
programba. 

Mivel a k£perny5 alatti byte-ok 6rt6ke alapillapotban 0, a feletti 
r6sz (BASIC program eleje) sem tartalmaz 81 k6du karaktert, fgy 
nem vizsg£ltam, hogy els6 vagy utols6 sorban van-e a sejt. 
Mivel az els5, illetve utols6 oszlop szomszddi kapcsolatban van a 
masik oldal egy sorral eltoft hdrom cellajdval, ezek figyel6s€t nem 
lehet elhanyagolni. 




A $zomsz£dok sz£ml5l5sdra indirekt indexelt 
cfmzAst (62), y alkalmaztam* Az index regisz- 
terek csak pozitSv eltolAst tesznek lehetSvd, 
ez4rt a pozicion&ISst a vizagilt cella (41] dtl6- 
san bal felsS szomsz6dj6ra (0) kail elv6gezni. 
(A tSblazat az egyes cellakhoz tartozd y 6rt6- 
keket tartalmazza decimdlisan.) 

Soiti Andr&s 




0 


1 


■ 

2 


40 




42 


oo 


81 


82 



7aW6 

70C9E 
7(fl10 
701 1 
7013 
75515 
7016 
701G 
7©1A 
/W1C 
70 IE 
702fl 
7&Z7 
7024 
7HZ6 
71326 

7W2C 
702E 
703(& 

7032 

7034 

7037 

703 1 ? 

703C 

703E 

7041 

/043 

7CJ46 

70^*a 

704A 

7B4C 

7trl4L 

7HS0 

70^2 

7035 

7057 

7059 

?W5h 

705D 

705F 

70^1 

70^3 

7063 

7067 

706ft 

706C 

706E 

7070 

7073 

7075 

7077 

7079 

707B 

7§81 

7BB3 

7fflB5 

70B7 

1 '©99 

7080 

708D 

709F 

70 [ ^ I 

7093 

7095 

7097 

7099 

7S39& 

709D 

709F 

7S3A0 

70A2 

70A4 

70A6 

70A7 

70A9 

70AA 

70AD 

70AE 

70tU 

70B2 

70P5 

70B6 

70 BB 

70BA 

70BC 

70BE 

70BF 

70CI 

/0C s 

70CS 

i miy 

7HC9 
70CB 





65 




SI A 


S65 




A9 


20 




LDA 


#$20 




f\2 


04 




LDX 


#t 04 




AB 


00 




LDV 


i rra 




9J 


64 




STA 




T 








1NY 






D0 


FB 




BNE 


*70EflE 




E6 


65 




JNC 






CA 






DEX 






D0 


F4 




BNE 


#700C 




A9 


00 




LLJA 


H^@0 




85 


67. 




STA 


*62 




85 


64 




STA 


S64 




A9 


04 




LDft 






85 


63 


■ 


STA 


$63 




A9 


64 




LDA 


#164 




as 


65 




STA 


*65 




A9 


00 




LDA 


#400 




85 


FB 




STA 


*FB 




A9 


m 




LDA 


#£00 




85 


FC 




BT A 


*FC 




A9 


00 




LDA 


n*0a 




66 




BTA 


*66 






00 




LDV 


##00 




20 


AA 


70 


JSR 


#70AA 




A0 


28 




LDY 






20 


B6 


70 


JSR 


^70B6 




A0 


2A 




LDY 


#*2A 




20 


Bh 


70 


JSR 


*70B6 




A0 


50 




LDV 


#£50 




20 


AA 


70 


JSR 


£7 BAA 




A9 


03 




|_DA 


#$03 




C5 


66 




| .Ml " 


*66 




D0 


09 




BNE 


*7055 




A0 


29 




LDY 


##29 




A9 


51 




LDti 


Ax ^ cr i 






64 




CTfl 

alfi 


t "tJLA 1 

t *o*+ J « 


v 


4C 


70 


7to 


1 HO 

JFir 






A 9 


02 




LUH 






Cj 


66 




nuC- 

unt- 






D0 


0F 










H0 


TO 






li t *?q 




A9 


□ 1 




LDA 


#^51 




Dl 


62 




CHF 


(f62) * 


Y 


D0 


07 




BfME 


% '7 06 A 




A9 


51 




LDA 


##51 




91 


64 




STA 


(#64> t 


y 


4C 


70 


70 


J MP 


#70/0 




A£ 


29 




LDY 


1*^29 




A9 


20 




LDA 






91 


64 




STA 


(#64) , 


Y 


20 


BF 


70 


J Sf< 


S70BF 




E6 


FC 




INC 


#FC 




A9 


25 




L DA 


tt#25 




C5 


FC 




CMP 


*FC 




10 


B3 




1 PL 


*702E 




20 


BF 


70 


JSR 


S70BF 




20 


BF 


70 


^SK 


S70BF 




E6 


FB 




TNC 


tFB 




A9 


16 




LDA 


#$16 




C5 


FB 




CMP 


^FB 




10 


Al 




BPL 


£7 02 A 




A9 


1/1 L 1 ? 




LDA 


#£00 




85 


62 




STA 


$62 




85 


64 




STA 


f 64 




A9 


04 




LDA 


#£04 




as 


63 




STA 


S63 




A9 


64 




LDA 


#364 




B5 


65 




STA 


T65 




A2 


04 




L.DX 


#J^04 




A0 


00 




LDY 


#^00 




Bt 


64 




LDA 


(^64) , 




91 


62 




STA 


($62) , 




C8 






I NY 






D0 


F9 




BNE 


#709B 




E6 


63 




INC 


#63 




E6 


65 




INC 


$65 




CA 






D£X 






D0 


F0 




BNE 


#7099 




60 






RTS 






20 


B6 


70 


JSR 


S70B6 




C3 






1NY 






20 


B6 


70 


J BR 


#70B6 




ca 






INY 






20 


B6 


70 


JSR 


*70B6 




60 






RT9 






A9 


51 




LDA 


#*5l 




m 


62 




CHP 


(#62) t Y 


EMa 


02 




BNE 


#70BE 




E6 


66 




1 NC 


#66 




60 






RTS 






E6 


62 




I NL 


#62 




E6 


64 




INC 


#64 




A6 


62 




LEX 


$62 




M 


04 




BME 


#70CB 




E6 


63 




INC 


#63 




E6 


65 




INC 


t65 




60 






RTS 







A Bolyai J^nos Matematikai Tarsulat Informatikai Bizotts6ga 
(BJMTIB) 6s az Orszagos Pedagdgiai Int6zet Matematika Osztalya 
kozosen k6szftett egy fuzetet, amelyben tobbek kozott olyan 
HT-programok vannak, melyek segfthetnek a matematika oktatasaban. 
Ezek kdzul tobbet „atfogaJmazunk rr C16, illetve C+4 g6pekre, 6s 
n6hany folytatasban kozoljuk az al6bbi csoportosftasban: 

- Prfmek, torzst6nyez6k, legnagyobb kozos oszt6 

- Fuggv6ny6br6zol£s 

- Kombinatorika, sz£mol£s nagy sz£mokkal 

- Rendezgsi algoritmusok 

- Kever6s, v6letlen 

- Grafika, SHAPE-ek 

El<5zm6nykent emlfthetjuk a BJMT-KFKI kozos kiadasaban a BASIC 
P6ldata> II. kotet6t; a K6hegyi Janos 6s munkatarsai szerkesztette 
„Programozasi forgacsok"-at a Szamltastechnika folyoiratban 1984 
koriil; Kovacs Mihaly 6s Tarcsay G6za frasait a Technika ujsagban 
1983-84. 6vekben; 6s legujabban Simonovits Mikl6s: Szamltas- 
technika c. tankonyv6t. A folytfiratok konyvtarakban el6rhetflk, ez6rt 
a programok megism6tl6se helyett csak hivatkozni fogunk r6juk. 
A szfnatenyomAssaf/efSft feiadatok megold&sai bekuldhet6k. 
Ebbfll egyr6szt az anyagok visszhangja>a szeretn6nk kovetkeztetni, 
masr6szt sok k6rd6sre magunk sem ismerjuk az egzakt feleletet. 
A helyes (6s frappans) valaszok bekuldfii kozott aprdsagokat (floppy, 
kazetta, BITLET-ek stb,) sorsolunk ki. 

prImek, oszthatOsAg, lnko 

1. feladat; frjuk ki 1 6s N kozott a prfmsz£mokat ! 
a- mggoldas : 

4 SCNCLR 

5 INPUT "EGVT0L MEDDIG IRJFM KI A PRIMEKET" ; N 
19 M=INTCSQR<:N>>:f11=N/5:lF MK100 THEM Ml=*100 
29 DIM flCMU 

80 K=l:fl(fO=2:pRINT 2; 
100 FOR 1=3 TO N 
110 FOR J=l TO K 

120 IF INT<I/fl<J>>=I/R<J> THEN J=K+3 
130 NEXT J 

140 IF J<K+2 THEN K=K+1 = FKK)=I - PRINT U 
153 NEXT I 

170 PRINT ? PRINT "EZ"; 100*K/N; "SZR'ZRLE'K! " 

Tipikus rekurzib: a K-adik pnmhez (A(K)) az el<5z6kon keresztul 
vezet az Lit. Ez6rt kell az els<5t (A(1) = 2 a 80. sorban) kulon kezelni. 
Figyeljuk meg a 120. 6s 140. sorokat: ,, Nines olyan prfm. amivel 
oszthato", 6s ..Van olyan esetek sz6tvalasztasa fgy korrekt 6s 
gyors. 

b> meg o Idas: 

Nagyobb N 6rt6kekre idflt takarftunk meg, ha a 110. sorban a ciklus- 
v6ltozo v6g6rt6k6t K 6s M = SQR(N) kozul a kisebbiknek v6lasztjuk: 



119 FOR J*l TO CK+M-flBS<KH1)V2 



avagy 



105 KI =K : IF K1>M THEN K1=M 
110 FOR J-l TO KI 



c. megoldas: 

Eratoszthenesz Szit6jat haszn6l]uk: 



4 SCNCLR 

5 INPUT "EGVT0L MEDDIG IRJRM KI fl PRIMEKET" J N 
20 DIM fl<N> 

80 L=l ■ K=2 : PRINT 2; 

100 FOR I=K TO N STEP K ■ flCI >«i : NEXT I 
120 K=K+PIF K>N THEN 170 

150 IF flCKJal THEN 120 : ELSE PRINT K;:L*L+1=G0 TO 100 
170 PRINT ■ PRINT "EZ f M00#L/N ; "SZR'ZRLE'K ! " 



A rekurzi6 ujabb sz6p p6ldaja. Egyetlen FOR crklus van. a „masik" 
rejtett: a 70. 6s a 120. sorokban egy IF-es szervez6s fedezhetfi fel. 
Az elGzflkhoz hasonlban itt is gyorsithatunk, bar ez bonyolultabbnatc 
is tunhet: 



4 SCNCLR 

5 .INPUT "EGYT0L MEDDIG IRJflPl KI fl PRIMEKET"; H 
29 DIM RCN) 

100 FOR 1=2 TO SQR<N) 

110 IF R<I)=0 THEN PRINT I ; : L=L+ 1 = FOR K=I*I To M STEP I = fltK>=l ' MEXT X 
120 NEXT I 

150 FOR I = lNT<SQRtH> + l) TO N=IF FKD-B THEN PRINT I; ^L a L+l 
160 NEXT I 

170 PRINT i PRINT JI EZ J V 10e*L/N; ,J SZR'ZftLE'K! " 



Okvetlenul hasonlftsuk ossze az eddigi n6gy programnak a futasi 
idej6t! N=500 eset6n mar jelentos kulonbs6gek tapasztalhatdk. 
2. feladat: Az ikerprfmek (kulonbs^guk pontosan ketto) 
inverzben jelenjenek meg. 



4 SCNCLR 

5 INPUT "EGVT0L NEDDIG IRJflM KI fi PRIMEKET"; N 
20 DIM flCN+2) 

30 L=l :fla> = l :fl<N+l> = l :RCN+2)=*1 ^PRIHT 2J 
100 FOR 1=2 TO SQR<N> 

110 FOR K=I*I TO N STEP I ' fi^K)-l ' NEXT K 
120 NEXT I 

150 FOR 1=3 TO N STEP 2= IF flCI)=0 THEN GOSUB 200 
160 NEXT I 

170 PRINT : PRINT "EZ'SL; "DflRflB^ flZflZ"; 100#L/N; "SZR^2flLE'K! " 
180 PRINT "EBE0L"J l+INT<LL/2+, 01 ) J " IKERPRIM! " 

199 END 

200 IF fl<I-2>*fla+2)=0 THEN PRINT "d"; : LL-LL+1 
210 L=L+1 : PRINT l;"H"J 

290 RETURN 



3. feladat : frassuk ki A 6s B kozott a prf meket I 

NyilvSn nines szuks6g altal^ban az A elfitti osszes prJmre, csak B-ig 
kell megkeresni a torzssz6mokat. 



4 SCNCLR 

5 PRINT "METTOL MEDDIG IRJRM Kt R PRIMEK 
ET <KE'T" 

G PRINT "SZR-MDT IRT VESSZOVEL ELVR^LRSZ 
TVft> ! " INPUT R,B 

18 N~B~R+i ; S— SG*R<B> : MM-S/5 - IF MMC1QQ THE 
N MM=109 

DIM R<H>,BC.MM> 
tO© FOR 1=2 TO SQR<S> 

1 1 S IF R< I >-© THEN L=L+ i = Bf.L> = I 1 F OR K= I + 
I TO S STEP I : R<K>=1 : NEXT K 
120 NEXT I 

150 FOR 1= IHT<SQR<S>*1> TO S 5 IF R<I>=0 
THEN L=L+1 :B<:L> = I 
ISO NEXT I 

200 FOR I=R TO B R<; I-R>»I = NEXT 

250 FOR J=l TO L. -FOR K=fl TO R+B<J> : IF K/ 

bc..j>-int<:k/bc:j>> then 2G5 

260 NEXT K 

265 IF K«BCJ> THEN K=K+K 

270 FOR I=K. TO B STEP B < J > = R <, I > =0 : NEXT 
I 

£86 NEXT J 

290 PRINT : PRINT TRBOB> ; R; 11 ES M ;B;" KOZO 
TTI PRIMEK : " -PRINT 

400 FOR I™8 TO B R = IF R<I>«9 THEN 415 

4 1 0 PR I NT R i I > ; = P =P+ 1 
415 NEXT I 

420 PR I NT : PR I NT 11 EZ ; P ; 11 SZRM , RZRZ " < 1 0 



A 100-1 BO. sorok az 1. c. megoiddsb<5l vehetflk, csak most meg is 
jegyezzuk az 1-t<5l B-ig \ev6 prfmeket (B{L)). A feladat tulajdon- 
k6ppeni megoldasa a 200-280. sorokban van. A 250- sorban keressuk 



meg az [A, B] sz^m interval I urn legkisebb elemet. amelyik oszthato 
a J-edik pnmmel, 6s ettfll kezdve ,,szitalunk". A 265. sor tekintettel 
van az A(B esetre. 

Tovabbi jelentCs gyorslt^s nagy A 6rt6kek eseten, ha ket sort m6do- 
situnk: 



Megtehetjuk, hogy kiindul3sk£nt kiirjuk a k6perny6re az [A, B] 
sz^mkoz sz^mait, 6s ezek kozul eltuntetjuk az osszetetteket. 
Erre egy egyszerubb vaTtozatot mutatunk, ahol feltetelezzuk, hogy 
B(10000! El<5z6 programunkhoz kell az alabbi rnddosftasokat 
hozzaadni ! 



3 95 SCNCLR 

200 FOR I=ft TO B = R<:i-H> = I. = GGSUB 500 : NEXT 
240 W==l 

250 FOR .J-l TO L 

260 k=b < j > * i nt < r/b j > > : i f k-cr then k-k+b 
<:.t> 

265 IF K-BCJ> THEN h>K+K 

270 FOR J>K TO B STEP BCJ > = fl<l I~R>==0 < GOSU 
G 500 : NEXT I 
275 GETKEY R-f- 
280 NEXT J 
339 END 

500 1 1 = IHR = J 1=IMT < I 1/ 9> = I2«2+4*< I i- JVM 
9 > 

51© IF W=i THEN CHRP. 1,1 2, J I," "--GO T 

0 590 

520 CHRR 1 j 1. 2 > J 1 / M I D* t STR* R 1 1 > > , 2 , 4 ;< 
590 RETURN 



Gombnyomasra (275. sor) tunnek el az egyes prlmek tobbszorosei. 
4. feladat: Bontsunk torzstenyezfiire egy tetszfileges szdmot! 

ElCszor vezessuk vissza egy m£r megoldott feladatra a jelenlegit! 
Az utolso" Iistab6l meghagyva a 4. 6s 100-180. sorokat, rendelkezunk 
is a sz6ba johetfi tenyezGkkel, csak ki kell v^logatni a val6ban meg- 
felelfiket. BGvftve n#hany tovabbi sorral, keszen is vagyunk: 



4 SCNCLR 

5 INPUT 11 MEL V SZR'MOT BONTSUK PEL. TE/'NV. 

10"'n=B iS=SQRf.B> U-1M-S/5 - IF MM<1.00 THEN MM 
--■100 

20 DIM R(.S> i Bf.S> 

100 FOR 1=2 TO SQR<S> 

It© IF R<I>--9 THEN L=,L+I = B<L> = I ■ FOR K=I + 
I TO S STEP I ■ FKIO"! : NEXT K 
120 NEXT I 

1. 50 FOR I = I NT <". SOR S > + 1 > TO S = I F R < I > »0 
THEN L=L+1 -B<L>=I 

189 NEXT I 

190 K>L = L==G 
195 SCNCLR 

200 FOR 1=1 TO K-l 

210 IF T,NT<".B/B<I>-k01>=BXB<I> THEN L=L+1 
= R <: L > »B c I > = B = I NT < B/B < I > + . 0 1 > ■ GO TO 2 i O 
220 NEXT X 

230 IF B>1 THEN L=L> i = fl<L>=B 
250 PRINT : PRINT 

300 IF L=l THEN PRINT B; " PRIMSZR "M« 11 : EN 
D 

400 PRINT N ; 11 = 11 ; R < 1 > ; 1 FOR I«2 TO L^ PRINT 
"*" ;R<I> ' ^NEXT I 



A 210. sorban talalhatunk oszttf tenyezGt osztunk is vele. es csak a 
hSnyadost vizsgaTjuk tovabb. Kifrat^skor (300. 6s 400. sorok) meg 
kell kulonboztetni, prfm-e a szam, vagy vannak val6di osztc5i. 
Megjegyzes: ATechnika 1984. II. sz6ma*ban szerepel egy egyszerubb 
valtozat ami prlmkeres^s nelkul dolgozik. Kivonatosan kozoljuk ezt 
a listat is: 



10 SCNCLR 

50 INPUT "HELV SZR *' MOT BONTSUK FEL";R 
60 B=L0G<R>/L0G<2>+S ■ DIM VCB> 
HO X~R 

120 B^INT<R/2>-M. 

130 B™B 1 =C=RXB 

140 IF IHKOOC THEN 130 

1 50 0™Q4- 1 : V < Q > ™C 

160 IF B-Ol THEN R=B = GO TO 120 

170 PRINT "R TE/NVEZ0K-- " ; = FOR I-.1 TO Q ■ 

PRINT VCI> ; = NEXT I 



M6dositsuk egy kicsit: 



10 SCNCLR 

50 INPUT 11 MEL V SZR'MOT BONTSUK FEL" :■ R 
GO B=L0G<:R)"/L0G<a>+2«DIM V<B> 
110 X=R 
120 B=l 

130 B=B+1 :C-R/B 

140 IF IHTCOOC THEN ISO 

150 Q"Q-^]I s v<;q>=rB 

160 IF CO! THEH R-C : B=B- 1 : GO TO 120 
170 PRINT 11 R TE-'NYEZOK.: " ; : FOR 1 = 1 TO Q = 
PRINT V<I > ; : NEXT I 



5. feladat: Euklideszi aJgoritmus segits4g6vel adjuk meg k6t 
szam LNKO-jdt! Hasznaljuk fel. hogy A 6s B kozos oszt6ja az 
ABS(A-B)-nek is oszt6ja. 



10 INPUT R,B 

90 IF H>B THEN C=R : R=B : B=C 

10S IF B=R THEN PRINT R'END 

200 B=B-R : IF B>R THEN 200 : ELSE 90 



Egy tombrebb, de talan kev6sb6 trivialis valtozat: 



10 INPUT R , B 

20 C= t". R+B— RBS < R-B > > /2 = R=RBS < R-B > : B=C 
30 IF R=B THEN PRINT B : EL SO 20 



V^gul jelentfls gyorsftast eredmSnyez: 



10 INPUT R,B 

20 IF R>B THEN C=R^R=B=8=C 

30 B=B"INTc:B/R >*R= IF B=0 THEN PRINT R *E 
! SE 20 



Tovckbbi feladatokj 

f* AhoMnosltSitk J 5, Ifsi* prvgramfAt: tetzi&Gges (6s$zerQ) 
koMtok kSx5tt is ..optimAfisan f4rjtti*#k *l" * tfdmok 9 k&p- 

2. Vajon mi okozza (mik okozzdk) az elso nigy program sebes- 
s^gei kozotti kuldnbsegeket? 

3. A t^nyez6kre bontast is hdrom kulonboz6 programmal 
prdbdltuk. Hasonlftsuk ossze ezeket is futdsi ido szempontja- 
b6L! Itt mi oRozza az elt^reseket? 

4* hassuk hi m t&ttst&nvaffikro botitSst hatv&npateftbaaf 
5. T6nyez6re bontdssal hatdrozzuk meg k^t szflm LNKO^t, 
illetve LKKT-j^tl Mi a v^lem^nyed err6l, osszevetve a meg- 
feleld Ustikkal? 




IfiJMMISlltlllKAl HEiLECtUHt/ JIFI1UE 



Rdcz Mihdly-Horvdth Attila: Fizi- 
Komp - Novotrade, 227 o., 129 Ft 
(A szerzGk a kdzegellenall^s, a rezg6- 
mozg£s 6s a gravit6ci6 t6makoreb6l 
oldanak meg feladatokat BASIC es 
Pascal nyelven. R6szletesen ismerte- 
tik a Pascal programnyelv haszn£latSt 
a C-64-en 6s Spectrumon is.) 
Valk6 P6ter-Vajda Sdndor: MG- 
szaki-tudom&nyos feladatok 
megoldasa szem6lyi sz3mftog6p- 
pel - Muszaki K6nyvkiad6, 342 o., 
90 Ft 

(A kotet a m6rnoki munkaban gyak- 
ran el<5fordul6 feladatok megoldSsat 
mutatja be IBM, illetve azzal kompa- 
tibilis gepeken.) 

H. H. Goldsteine: A sz6mft6g6p 
Pascaltdl Neumannig - Muszaki 
K6nyvkiad6, 368 o., 110 Ft 
Herman H. Goldstine a sz6mft£stech- 
nika, a sz£mft6g6ptudomciny 6I6 klasz- 
szikusa. Vezet6 szerepet j6tszott az 
ENIAC (Electronic Numerical Integ- 
rator and Computer), az elsfi elekt- 
ronikus sz6mit6gep kifej1eszt6s6ben, 
amely el6deit6t elt6r<5en nem tartal- 
mazott mechanikus mukdd6s(j alkot6- 
elemeket [gy ez a g6p tekinthet6 az 
els6, mai 6rtelemben vett sz3mft6- 
g6pnek. Oroszl6nr6szt vcillalt az 
ED VAC l6trehozas6ban is, amely a 
modern sz£mft6g6pek szinte vala- 
mennyi ism6rv6vel rendelkezett. Ami 
pedig sz6munkra kulonosen fontos 
lehet: kdzvetlen munkatctrsa 6s j6 ba- 
r£tja volt Neumann J6nosnak, aki a 
sz3mit6g6pek mukod6s6nek elm6let6t 
alkotta meg. 

A Muszaki Konyvkiado Neuman ha- 
I£l6nak 30. 6vfordul6ja alkalm6bdl 
adta ki Goldstine kotet6t, a Neumann 
J£nos Szamit6g6p-tudom6nyi TSrsa- 
s6ggal egyuttmukodve. Tal6n nem 
kellett volna ilyen sokdig v6rni a konyv 
magyar megjelentet6sevel - ami j6 
15 eve kerult e!6szor az amerikai 
olvas6k kez6be - de Goldstine sz6- 
mft6g6p-tort6neti besz6mol6ja ma is 





nagy 6rdekl<5d6sre tart sz6mot mind a 
sz6mft6g6pek, mind a technikatort6- 
net irSnt 6rdekl6d6k kor6ben. A ki- 
ad6s6rt mindenesetre elismeres ilteti 
Kov6cs Gy6z6t, a kotet lektor6t, a 
Neumann J6nos Szc)mit6g6p-tudo- 
m6nyi Tarsasag elnok6t. 
A konyv rengeteg hasznos inform6ci6t 
kozol olyan kitun6 stilusban, hogy 
szinte lehetetlen letenni. Mint a szerz6 
az utols6 fejezetben emlfti, a sz6mft6- 
g6p-tudom3ny fej!6d6s6t Pascal szu- 
Iet6s6t6f, 1623-t6l Neumann hal£- 
I6ig - 1957-ig - tekintette at. Ha 
mindehhez m6g azt is hozz6sz6mft- 
juk, hogy muve elejen a Pascal mun- 
k6ss£g£t megel6z6 eredm6nyeket is 
sz6mba veszi, akkor nyilvcin felvetfidik 
a k6rd6s: hogy f6r el mindez alig tobb 
mint 300 oldalon? 

Nos, Goldstine-nak ugy sikerult mon- 
danival6jcit a terjedelmi hat6rok koz6 
sflritenie. hogy az olvas6 kozben 
sohasem 6rzi azt, hogy egy agyon- 
tomorftett, csak a bennfentesek sz6- 
m6ra 6rthet<5 szakmunk6val kell meg- 
birk6znia. 

A konyvben teljesen term6szetes m6- 
don v6ltogatj6k egymcist az egyes 
g6pek mukod6si m6dj6t bemutat6 
szakmai szintu lefr6sok, a matematikai 
kifejez6sek, k6pletek 6s a g6pek meg- 
alkot6rt jellemzG rovid anekdotSk 
Mindez egyiltaldn nem zavar6, mert 
egys6ges eg6ssz6 otvozi a szerzfi 
stffusa Osszefuggfi tortSnetet, szinte 
reg6nytoh/ashatunk attfil kezdve, hogy 
Babbage otlete alapj£n - aki a mecha- 
nikus sz6mol£si muveteteket kfvAnta 
g^pesiteni az akkori csucstechnol6- 
giit k6pvisel<5 g6zg6pek segfts6g6vel 
- megszuletett az els6 differenciag^p, 
eg6szen a modern digitalis, bin^ris 
sz^mokat haszn£!6 g^pek megalkot^- 
s^ig. 

A munka h£rom W r^szre tago!6dik, 
Az els6 a II. viiaghaboru elfitti tudo- 
m^nyos eredm6nyekkel foglalkozik, a 
m£sodik a h^iboru idej^n v^gzett fej- 
leszt^si munk^kkal, a harmadik pedig 
a haboru befejez6d§se 6s az 1957 
kozotti id(5szak esemSnyeivel. Mind- 
h^rom korszak nagyj6b6l azonos ter- 
jedelmet kap a konyvben - ebb6l 
ad6dik, hogy az 1942 6s az 1946 
kozotti 6vekkel foglalkozik a legr^sz- 
letesebben. Ennek oka nyilv6nval6: 



a hadiiparnak hatalmas sziiks^ge voit 
a fegyverek ballisztikai sz^mft^sait 
gyorsan elv6gz6 g^pekre - ez volt a 
sz4mft6g6pek kifejleszt^nek „arany- 
kora". 

Goldstine hatalmas inform£ci6s anya- 
got dolgozott tel. Erre utal. hogy a 
kotet minden oldalSn h^rom-n^gy 
l^bjegyzet olvashat6, amelyek vagy 
konyvekre, cikkekre hivatkoznak, vagy 

- hiszen a tobb Svtizedes emtekek 
nem felt6tlenul megbfzhat6ak - sajit 
kiterjedt Ievelez6s6re. Besz3mol6ja is 
akkor v^lik igaz^n fitffltottd, amikor 
m6r nem az el6zm6nyekr6l, a multr6l 
besz6l. hanem arr6l az id6szakr6l. 
amelyben mcir 6 maga 6s bar£tja. 
Neumann is r6szese a szamft6g6p- 
tudom^ny fejl<5d6s£nek. E fejezetek- 
ben akSr dnhittnek is hihetn6nk a 
szerzfit, hiszen szinte minden m^so- 
dik oldalon lefrja a saj^t nev6t - de 
nem tehet m£st elv6gre tev6keny sze- 
repet jcitszott az esem6nyekben, 6s 
amikor felsorolja, hogy kik tev6keny- 
kedtek egy-egy feladat megold6s6n, 
nem tagadhatja le sajSt r6szv6tel6t. 
Kifog6saink csak a kotet szerkezet6t 
illetfien lehetnek - 6s ezek is ink^bb 
koteked6snek tekinthet6k. 

- Goldstine lenduletes beszamol6ja- 
ban sokszor felborul az id6rend. Egy- 
egy g6p vagy r6szegys6g fejleszt6s6t 
ismertetve id6nk6nt tuls6gosan elfire- 
szalad, majd nem gy6z visszat6rni a 
kiindul^si id6ponthoz. Igy, ha nem 
figyelunk el6gg6 a dcitumokra, nem 
tudjuk meg, hogy mi voit e!6bb 6s mi 
k6s6bb, vagyis hogy mi minek az 
eredm6nye. 

- MSskor viszont nem koveti azt a 
szerkeszt6si elvet sem, hogy egy-egy 
r6szteruletet az elejGtfll a v6g6ig be- 
mutatna. fgy sz^mtalan bekezd6s v6- 
g6n olvashatjuk, hogy ,,Err6l a k6s<5b- 
biekben r6szletesen beszamolunk." 
[gy az olvas6 nem gy6z oda-vissza 
lapozni. 

- Goldstine a 118. oldalon Atanasoff 
naivit3s£val kapcsolatban emlfti, hogy 
egyik munk6j6ban hosszasan 6rteke- 
zett a sz^mok egyik sz^mrendszerb6l 
a m6sikba val6 6tv6lt^s6r6l, 6s nem 
ismerte fel, hogy ez mennyire trivial is. 
Nos, Goldstine is beleesik ebbe a 
hib6ba: matematikai fejteget6sei ko- 
r6ntsem azonos szfnvonaluak. Hoi tel- 



IliMimiUIMIill MJUtllil III; 4MIUS 



jesen eiemi dolgokat elemez hossza- 

san. hoi pedig bonyotuit teteleket te- 

kmt magaioi ertetodoeknek 

Meg nehany szo a kotet harom fugge- 

lekerol. 

Az elsot maga Goldstine iilesztelte 
rnuvehez. bemutatva az europai or- 
szagok szamitastechmkajanak fejlo- 
deset 

A masodik Kovacs Gyozo, a lektor 
munkaja, ez a magyar szamftogep- 
tudomany es -gyartas eredmenyeit is- 
merteti a hatvanas evek kdzepeig. Ami 
a legszembeotlobb. az az, hogy mar a 
szamftogep-tudomany kezdeti kor- 
szakaban is tizeves hatranyban vol- 
Tunk a fejlett orszagokhoz kepest - es 
ez a hatrany fokozatosan nott. 
A legfurcsabb a harmadik fuggelek. 
Ez Nicolas Vonneumanrvnak, Neu- 
mann Janos fianak kiigazitasat tartal- 
mazza. A hibak, amiket Goldstine be- 
sz3mo!6jaban javft, nem erdemiek. 
Ugy tunik. hogy Nicolas apja erkdl- 
cseit es vil^gnezetet igyekszik r6zsa- 
szfnure festeni Neumann szazadunk 
egyik legnagyobb tuddsa volt - nem 
hisszuk azonban, hogy szuksege lenne 
a szentte avatasra 

T alter Jozsef 

Kritikus szemmef 

Egy vagyok a magyarorszagi spectru- 
mosok taborabol Kdzuluk is egy a 
megszallottak kozul, aki megprbbaJ a 
gep lelkehez kozel ferkozni; ez alatt 
a gepi kodu programozas rejtelmeinek 
megismereset ertem. Eppen ezert vet- 
tem orommel eszre MeggyeshSzi 
Janos-Pinte> Tibor: ZX SPECT- 
RUM haladoknak, Felhasznalast 
seg£dlet c konyvet. 
A konyv elejevel meg vagyok eleged- 
ve: a rendszervaltozdk leirasa, az 
assemblerek hasznalati utasitasa hasz- 
nos dolog. Utana jdnne az erdemi 
resz: gepi kddu rutingyujtemeny. 
Elso gepi kddu program: PRG(2). at- 
sorszamozas. A 007A soraban pedig 
a hivatkozas: JP NZ,9312. Keresem a 
9312-es cimket, sort, cimet, sehol 
sines. A programrol annyit irnak, hogy 
ott van a 118 oldalon. Lapozzimk 
tovabb PRG(6) Programtomontes 
00B4 cimen JP Z,91 FB A helyzet 
ugyanaz, ne is keress hivatkozast 
hogy hoi van, mi az a 91 FB elm. 
Ugorjunk a PRG(9), Tarinformacidk 
kifratasa c. reszre. Egy kis figyefemmel 
felderithetunk egy durva hibat: a 
veremmuveletek nincsenek egyen- 
sulyban: 2 db PUSH utan 3 db POP 
jbn. Ettol fuggetlen begepeltem a 
programot Nem szallt el, mint ahogy 
vartam, de nem is mukodott. Folytat- 
hatnam az el vi hibas programok fel- 
sorolasat, az ismeretlen vagy nem 
letezo cfmkere ugr6 utasftfist vegre- 
hajt6 programokat. 

Ne is vizsgaljuk tovabb a programok 
megvalosftasat! Nezziik, milyen prog- 
ramokat ajanlanak, irnak le a szerzok! 
Kulonbozo kepernyo scrollok: LORES, 
HIRES, jobbra, balra, le. tel. Err6l csak 
annyit, hogy jobban jar az ember fia. 




Tisztait Szerkesztd f 
A BIT - LET -r 61 jut aszembe: 
PL : fgy n4zna kl: 



A BIT-LET m4rlega 



Jo tufajdonsag 

OfcsO 
Tartalmas 

Nem fr dirr-durr jit&krdt 
Van ingyenas hir detest to vat 
Atfogd: a hiraktdf a szoftvar 
mutyurokig mindenrdf sz6i 
G4pnyar5 



keilene csinalni egy „m4rleg&t'\ 



Rossz tufafdonsSg 
Mel!4kl&tk4nt tengddik 
Ke v&s a spec trumanyag 
R(tk£n j&f&n/k meg 
MegjelBn4s UtAni nap on m$r 
nam leh&t kapni 
Nines benne jat4kprogram m 
Alines JAtSkprogramteszt 
fegyszer volt: max. BOperc: 
Menekul§s t Kl jut az arddhe?) 
sth, 



zt az olvasdk Irtik, kemSnyen el fettek utasltva. Mond/uk 
egyet4rtek vale* rfe az alapelv^. 



Most egy k4r(d}£$: mond/uk Irtam agyj4t6kot r &s szlnvonata elerte 
az ismar6sok nemcsak udvariass&gbtil mondott efismer&s4t Nem 
kell a MASTERTRQNIC, a!4g lasz a NQVQTRADE is mecenasnak. 
Hoi talilom 6{ke)t? Ha ezt vagy mis ilyesmi „szoftver" clmtit tud- 
ja, kSram irja meg I Talafonszam nam J6, mart nines talefonom 
fakkor 6k hlvnak majd f&t angem - ez csak vice volt). £s hogy tor- 
tdnlk egy ilyan v£s4rl£s? Kdfcsonos szimpStia esatSn? (Novotrada* 
nak tetszik a program, nakam a Novotrade aj&nlata ?} A J£t4kr6l csak 
annyit hogy nines m&g k6sx t ir a border re 4s zenSI (KRAFTWERK). 
M4g egy k4rd4s: ha odaadom (alfogadjik) a Novatrade-nak tag- 
napefdtt, hofnaputan a bolt ban IStom? 
Zsika Emit 

fMCB) 9022 Gy6r, ArpSd tit 5T/A IL 74, 

UL: T6nyleg, meg van m6g a C 16-ja? 
VSlaszaink sorban vi&szafeld: 

1. AC 16-ot lecser&Ptem egy Plusz/4-ra. 

2. Az ff alku' p vaFatiogy ugy rnegy, ahogy on leirja. Art azonban no 
rem£Jje, hogy egy megvdsdroh szoftver marof holnapra az iizletbe 
keruk 

3. A cegeket, amelyek szoftvert visarolnak egyszarOen fdl lehef 
keresni (utcSrbi be kell menoi) fofajdnfani az Arut. 

I me kepisbdl 1-2 cim : 

Novotrade- Delta so ft - Bp, XlfL Krasz Geza u. 
Novotrade-Caesarsoft - Bp, lif. f Szentendrai ut 
New line vallalkozas — Vecses. Diofa u. 15. 
APIS2 (Aruforgalmi Osztaly) - Bp. VII., Wsssa^nyi u. 

4. Ami a kis tablazatot illeti j&l sz6rakoztunk rajta A j^tekprog- 
ramokkal kapcsolatos megjagyzesan efgondolkodtunk. Az az 
rgazsig, hogy kallemas. nem t^l nagy meretQ, s t#hatoleg nem 
piff-puff jatekot szivesen kozofnenk, ha kapnank. (Lasd ilatj^tek) A 
jatekprogram fent nem nalunk jalant mag hanem a Commodore uj- I 
sagban ! Odvoz<ettal : A szerkesfctft 



ha ezeket a rutinokat Rucz Lajos: 
Rutinrbl rutinra (avagy bepillantas a 
Sinclair Spectrum gepi k6du progra- 
mozasaba) c konyvebol nezi meg. 
(Eskuszunk, hogy nem szandekos. 
hogy plagiumon ert szerzonkrol ugyan- 
abba a lapszamba dicsero sorok is 
bekerultek.) Bar az emlitett konyv 
csaknem ketszer annyiba kerul, de a 
programokhoz magyarazat van, es a 
programok fut^skepesek. Ugy latszik. 



fele penzert csak az otletet kaphatjuk 
meg, hogy tokeletesen megvalositva 
legyen feirva, ahhoz, ugy latszik. fizetni 
kell. Es vegs6 soron fizetni kell annak 
is, aki megvette a ZX Spectrum hala- 
doknak c konyvet, 6s csaknem sem- 
mire nem tudja hasznalni. Ogy is 
mondhatnam, hogy nem azt kapja az 
ember a penzeert, amit vart 
Mezo G yufa 

1117 Bp., Irinyi J. u. 42/1806 



SlAHiTiSlECiJIItJl WFLLflUf HI7 MUtt 



O V 6 1 K GZO SZamUnK minting Mt*n at $ ttoiben a*Am it** tee hni ka 



A PLUS/4 

Vn y e r o 



4 3. F EL AD AT 
MEGOLDASA 

7. feiadat: Lehets^ges, b6rmilyen p5- 
ratlan szamri indultf eseten el£rhet6\ hogy 
mindenkinek ugyanannyi gy5zelme £s vesz- 
tes£ge van. Az allitSst a teljes indukcio" m6d- 
szereve! bizonyithatjuk legegyszerubben- 
3 versenyzflre az allitas nyrlvan igaz. Legyen 
n pa>atlan sz£m, s tegyuk feL hogy n ver- 
senyz<5 esetdre mar tudjuk r hogy igaz az 
allft^s, azaz megadhat6k olyan paronk^nti 
eredmenyek, hogy mindenkinek ugyanannyi 
gy6zefme es veresege van. Ekkor nyilvan 
n-1 

mindenkinek — - — gy<5zelme, £s ugyan- 
annyi veresege van. Be szeretn^nk latni, 
hogy n + 2 versenyz<5 eseten is el£rheto\ hogy 
mindenkinek ugyanannyi gy6zelme 6s verese- 
ge fegyen. Valasszunk ki 2 versenyzot (Elso 
Efemert 6s Masodik Martont), s a paronk^nti 
eredmenyeket a kovetkezokeppen hata>oz- 
zuk meg: a tobbi versenyz6 kozott a feltetele- 
z6sunk miatt meg lehet olyan eredmenyeket 
hatarozni, hogy egym^s kozott mindenkinek 

— — gyfizelme es veresege legyen. Valasz- 
n + 1 

szunk ki kozuluk versenyzSt, s mond- 

juk azt, hogy ezek megvertek Elsot, de ki- 
kaptak Masodikt6l. a tobbiek viszont Maso- 
dikat vertek meg, s ElsfitSI kaptak ki. Ezutan, 
ha rogzitjuk, hogy E!s6 Elemer megverte 
Masodik M3rtont, konnyu kiszamolni, hogy 

n + 1 

va!6bart mindenkinek pontosan - vere- 
sege, s ugyanannyi gy<5zelme van. Ezzel allj- 
tasunkat betettuk. (3-ra igaz, s a m6dszer 
mutatja, hogy akkor 5-re is, de akkor 7-re is, 
s igy tovabb, 99-re is, s i. t.) 



2. feiadat: A kiir^sba - imma> hagyo- 
manyosan - kisebb hrba csuszott, a szoveg 
masodik feleben a 99 helyett 100 szerepel. 
Mivel a 2, allftas akarhany versenyzfire igaz. 
ez nem zavarhatta tuls^gosan a megold6kat, 
term^szetesen elfogadjuk azt is, ha valaki 
99-re, s azt is, ha 100-ra bizonyftotta. (Ter- 
vezzuk, hogy ezentul esetleg minden fetadat 
2 feladatb6l fog allni: 

1) Keressdk meg a feiadat szoveg^ben a hi- 
b£t, s javitsak ki, hogy a feiadat £rtelmes le- 
gyen, s az 3llitasa igaz. 

2) OldjSk meg a kijavftott feladatot! 
Visszat^rve a mostani feladatra: 

Al litis: akarhany (n) versenyz6 es akarmilyen 
eredmenyek eseten lehet a versenyz<5ket ugy 
rangsorolni, hogy mindenki legyfizte a rang- 
sorban kozvetlenul utana all6t. 
Bizonyft^s: ha n£hany versenyzfit sorba tu- 
dunk rendezni a fefadatnak megfelelflen, ezt 
a reszsorbarendezest hfvjuk J^ncnak. Egy 
I3nc hossza a benne szereplfl versenyz6k 
sz6ma. (Ha van legatebb 2 indul6, akkor 
biztos van 2 hosszu lane, barmely 2 versenyzS 
tud ISncot alkotni a megfelef<3 sorrendben.) 
Valasszunk ki egy Iehet5 leghosszabb lincotl 
Ha a ISnc hossza n, akkor keszen vagyunk. 
Ha rovidebb, akkor van egy versenyzfl, l_3n- 
conkivuli Lajos, aki nem szerepel a ISncban. 
Lajos nyilvan kikapott a fane elsfi versenyz<5- 
jetfll, de megverte az utolsdt hisz kutonben 
a lane valamelyik veg^hez hozza lehetne 
,,ragasztani", s fgy egy hosszabb la*ncot kap- 
n^nk, ami viszont ellentmond a fine Vcilasz- 
tasanak. Mivel Lajos kikapott a lane els<5 
vereenyz<5j6t<5l, de megverte az utols6t r kell 
lenni a lancban ket egymast kovetfi verseny- 
z6nek (ledik Imre es Ipluszegyedik lmre) r 
akik kozul Lajos lediktol kikapott, de Iplusz- 
egyediket megverte. Ekkor azonban k6pez- 
hetjuk a kovetkez^ ISncot: vegyuk sorra az 
eredeti ISncbtfl az els6, masodik stb. verseny- 
zfit egeszen ledik Imr^ig, ut^na vegyuk be 
Lajost. majd Ipluszagyodik Imr6t6! folytassuk 
az erecfeti >ancui vfigig. fgy megint egy 
eggyel hosszabb lancet kaptunk, ami ellent- 
mond a lane v^lasztas^nak, Igy a leghosz- 
szabb lincunk csakis n elemu lehet, s ez a 
ISnc adja a kfva'nt sorrendet. 
Ezzel (legalabbis egy id6re) a grafelmSleti 
jellegu feladatok vegere ertunk. A gr^fok 
irant erdekl6d6knek aj^nijuk Andrasfai Bela: 
Ismerkedes a grafelmelettel c konyvet. 



^I ^ATA RIk 



YERO 




2. FEL AD AT 



Egy BASIC program a kovetkezo sorral kezdodik: 10 INPUT H,N 
Azt szeretn^nk, hogy a program az 1987-es 6v b^rmely napj£r6l kifrja, 
hogy az a h&t melyik napjara esik 

H jelenti a h6nap sors^mat (1-12), N a nap6t (1-31). A belrt adptokat 
nem k«ll etlenflrizni- 

BASIC-QnkrG! annyit kell tudni. hogy 1 programsor akirmrlyan hosszu 
lehet, s hogy az osszehasonlftSsok erteke^l, ha iga2 es 0, ha nam igaz, 
A BASIC-unk ismeri a MID ^(string, kezdet, db) fuggvenyt. 
Feiadat, hogy a kivanalmaknak megf eleloen fejezzuk be a programot. 
Teh^t. ha pi. az input 2, 18, akkor az output SZERDA legyen. Azonban 
a eel az, hogy ezt minel kevesebb BASIC utasitassal (nem programsor- 
ral!) erjiik el! Az ertekad£s is utasft^snak szamft! EI6re elaruljuk, 
hogy a feiadat egyetlen PRINT utasft£ssa1 megoldhatdl 



Szerkesztf-segunk clme: OTLET Budapest 1986 SzerkesziO. Angyalosi ! a=.2l6 Muv^szeu szerkes^tfl Pnbelszky Pal 
1c>d>\6 Domokos Imre Hlrrovar Cs^nyi Gyorgy. Vallat6, Pogany Gyofgv GepnyerC Kirily ZoltAn Posta 1 HalSsz P^ier